PHP 基本情報


  print_r と var_dump



単純に配列を一つ表示したいだけならば、あまり差はありませんが、
以下のような違いがあります

  
<?
$a = array( 0, 1, "A", "B" );
$b = array( 1, "A", $a );

# 2番目の引数を指定する事によって、結果を変数に取得できる
$ret = print_r( $b, TRUE );

print "<PRE>$ret</PRE>";

$a[0] = 100;

# 結果は、出力制御関数を使用しないと取得できないが、
# 一度に複数の変数を指定できる
print "<PRE>";
var_dump( $a, $b );
print "</PRE>";

#---------------------------------------------------------
# 上記例では、$a はクローンなので、$b の中は変化しない
print "<hr>";
# 下記例では参照をセットしたので変化する
#---------------------------------------------------------

$a = array( 0, 1, "A", "B" );
$b = array( 1, "A", &$a );

print "<PRE>$ret</PRE>";

$a[0] = 100;
print "<PRE>";
var_dump( $a, $b );
print "</PRE>";

?>
  

01.Array
02.(
03.    [0] => 1
04.    [1] => A
05.    [2] => Array
06.        (
07.            [0] => 0
08.            [1] => 1
09.            [2] => A
10.            [3] => B
11.        )
12. 
13.)
14. 
15.array(4) {
16.  [0]=>
17.  int(100)
18.  [1]=>
19.  int(1)
20.  [2]=>
21.  string(1) "A"
22.  [3]=>
23.  string(1) "B"
24.}
25.array(3) {
26.  [0]=>
27.  int(1)
28.  [1]=>
29.  string(1) "A"
30.  [2]=>
31.  array(4) {
32.    [0]=>
33.    int(0)
34.    [1]=>
35.    int(1)
36.    [2]=>
37.    string(1) "A"
38.    [3]=>
39.    string(1) "B"
40.  }
41.}
42. 
43. 
44.--------------------------------------------------------------------------------
45. 
46.Array
47.(
48.    [0] => 1
49.    [1] => A
50.    [2] => Array
51.        (
52.            [0] => 0
53.            [1] => 1
54.            [2] => A
55.            [3] => B
56.        )
57. 
58.)
59. 
60.array(4) {
61.  [0]=>
62.  int(100)
63.  [1]=>
64.  int(1)
65.  [2]=>
66.  string(1) "A"
67.  [3]=>
68.  string(1) "B"
69.}
70.array(3) {
71.  [0]=>
72.  int(1)
73.  [1]=>
74.  string(1) "A"
75.  [2]=>
76.  &array(4) {
77.    [0]=>
78.    int(100)
79.    [1]=>
80.    int(1)
81.    [2]=>
82.    string(1) "A"
83.    [3]=>
84.    string(1) "B"
85.  }
86.}

以下はオブジェクトの出力例

  
<?
$a = new myData;
$b = array( 1, "A", &$a );

$ret = print_r( $b, TRUE );
print "<PRE>$ret</PRE>";

$a->add();

var_dump( $a, $b );

class myData
{
	var $no;

	function myData() {
		$this->no = 1;
	}
	function add() {
		$this->no++;
	}
}
?>
  

01.Array
02.(
03.    [0] => 1
04.    [1] => A
05.    [2] => myData Object
06.        (
07.            [no] => 1
08.        )
09. 
10.)
11. 
12.object(myData)#1 (1) {
13.  ["no"]=>
14.  int(2)
15.}
16.array(3) {
17.  [0]=>
18.  int(1)
19.  [1]=>
20.  string(1) "A"
21.  [2]=>
22.  &object(myData)#1 (1) {
23.    ["no"]=>
24.    int(2)
25.  }
26.}











  infoboard   管理者用   





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ