関数仕様編 その8(参照について その5)

Human Resocia Co.,Ltd.

2015-09-02 09:00

ヒューマンリソシア株式会社はコラム「関数仕様編 その8(参照について その5)」を公開しました。
###
参照の五回目、配列のお話の続きでございます。
端的には、前回ありました「”オブジェクトID”という値を持ち回る事による、クラスインスタンスの参照っぽい動き」と
「変数の参照代入」との違い、に近い内容が今回も発生いたします。
まずはわかりきったサンプルコードで、足場を固めながら進めていきましょう。

$awk = array(1,2,3);
$awk2 = $awk;
var_dump($awk);
var_dump($awk2);

copy on writeがあるので厳密には違いますが、基本的には「$awkと$awk2は、copyされた、別々の配列」になります。
ですので、配列操作によって片方を変更しても、もう片方には影響が及びません。

$awk = array(1,2,3);
$awk2 = $awk;
//
$awk[1] = ‘abc';
//
var_dump($awk);
var_dump($awk2);

結果
array(3) {
[0]=>
int(1)
[1]=>
string(3) “abc”
[2]=>
int(3)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}

さて…ここから。
実は、こんなコードを書くと。一部では「………はて???」となるような現実が出てきます。

この続きは以下をご覧ください
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]