PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。
Q&A
解決済
1回答
860閲覧
総合スコア98
0グッド
0クリップ
投稿2014/05/21 15:44
0
PHPの配列に関して教えてください。 PHPの配列をコピーできる関数はありますか?
オブジェクトをコピーするのと配列をコピーするのとではやり方が違うのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
ベストアンサー
PHPで代入を行った際は、配列はコピーされてアサインされます。 これに対してオブジェクトは参照によってアサインされます。
$a = array(); $b = $a; $b['foo'] = 42; var_dump($a); ↓ array(0) { } もしくは:
$a = array(); $b = $a; $b['foo'] = 42; var_dump($a);
array(0) { }
$a = new StdClass(); $b = $a; $b->foo = 42; var_dump($a); ↓ object(stdClass)#1 (1) { ["foo"]=> int(42) }
$a = new StdClass(); $b = $a; $b->foo = 42; var_dump($a);
object(stdClass)#1 (1) { ["foo"]=> int(42) }
もしかしたらArrayObjectのようなクラスでは複雑になってしまうので混乱するかもしれません。 これはオブジェクトなのですが、配列のような動き方をするので・・・。
また、単純な配列のコピーであれば以下のように書けます。
$a = array(1,2); $b = $a; // $bは$aとは異なる配列 $c = &$a; // $cは$aへの参照配列
投稿2014/06/03 03:01
総合スコア427
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.31%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
PHP配列をコピーする関数はありますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。