2013年3月12日火曜日

PHP 配列

配列(インデックスを指定しない)

インデックスを指定しないで配列を作成する方法です。
<?php
$array1 = array('aaa', 'bbb', 'ccc');
print_r($array1);
?>
または
<?php
$array1[] = 'aaa';
$array1[] = 'bbb';
$array1[] = 'ccc';
print_r($array1);
?>
実行結果


配列(インデックスを指定する)

インデックスを指定して配列を作成する方法です。
<?php
$array1 = array(0=>'aaa', 1=>'bbb', 2=>'ccc');
print_r($array1);
?>
または
<?php
$array1[0] = 'aaa';
$array1[1] = 'bbb';
$array1[2] = 'ccc';
print_r($array1);
?>
実行結果


連想配列

キーを指定して配列を作成する方法です。
<?php
$array1 = array('key1'=>'aaa', 'key2'=>'bbb', 'key3'=>'ccc');
print_r($array1);
?>
または
<?php
$array1['key1'] = 'aaa';
$array1['key2'] = 'bbb';
$array1['key3'] = 'ccc';
print_r($array1);
?>
実行結果


多次元配列

<?php
//array()を使用する方法
$array1 = array(
   array('山田', 'Yamada@mail.com'),
   array('田中', 'Tanaka@mail.com'),
   array('加藤', 'Kato@mail.com')
   );

print($array1[1][0]); //「田中」が出力
print('<br/>');
print($array1[2][1]); //「Kato@mail.com」が出力
print('<br/>');


//インデックスを指定する方法
$array2[0][0] = '山田';
$array2[0][1] = 'Yamada@mail.com';
$array2[1][0] = '田中';
$array2[1][1] = 'Tanaka@mail.com';
$array2[2][0] = '加藤';
$array2[2][1] = 'Kato@mail.com';

print($array2[1][0]); //「田中」が出力
print('<br/>');
print($array2[2][1]); //「Kato@mail.com」が出力
print('<br/>');


//キーを指定する方法
$array3[0]['name'] = '山田';
$array3[0]['mail'] = 'Yamada@mail.com';
$array3[1]['name'] = '田中';
$array3[1]['mail'] = 'Tanaka@mail.com';
$array3[2]['name'] = '加藤';
$array3[2]['mail'] = 'Kato@mail.com';

print($array3[1]['name']); //「田中」が出力
print('<br/>');
print($array3[2]['mail']); //「Kato@mail.com」が出力
print('<br/>');


//他にも
$aryName = array('山田', '田中', '加藤');
$aryMail = array('Yamada@mail.com', 'Tanaka@mail.com', 'Kato@mail.com');
$array4 = array($aryName, $aryMail);

print($array2[1][0]); //「田中」が出力
print('<br/>');
print($array2[2][1]); //「Kato@mail.com」が出力
print('<br/>');

?>
実行結果


配列の初期化

<?php
$array1 = array();
?>


配列の変更・追加

<?php
$array1[0] = 'aaa';
$array1[1] = 'bbb';
$array1[3] = 'ccc';

//変更
$array[0] = 'aaa_upd';

//追加
$array1[] = 'ddd'; //配列の途中に空き要素があっても、配列の最後(要素4)に追加される

print_r($array1);
?>


実行結果

0 件のコメント: