配列の 追加と削除

配列に要素を追加

  • 配列に要素を追加したい場合は、array_unshift関数、array_push関数を使います
  • この関数は、配列に要素を追加するとともに、要素が追加された配列の要素数を取得できます


array_unshift - 配列の先頭に要素を追加したい場合

配列の先頭に要素を追加した後の要素数 = array_unshift( 要素を追加したい配列変数名, 追加したい要素1, 追加したい要素2,・・・ );


array_push - 配列の最後に要素を追加したい場合

配列の最後に要素を追加した後の要素数 = array_push( 要素を追加したい配列変数名, 追加したい要素1, 追加したい要素2,・・・ );

<?php
  // 配列変数$fruitの宣言と初期化
  $fruit = array ( 'いちご' );
  
  // 配列の先頭に要素を追加します
  $cnt = array_unshift ( $fruit, 'りんご', 'すいか' );
  
  echo $fruit[0] . '<br>';  // 配列の先頭要素'りんご'を表示します
  
  echo $fruit[1] . '<br>';  // 配列の次の要素'すいか'を表示します
  
  echo $fruit[2] . '<br>';  // 配列のその次の要素'いちご'を表示します

  echo $cnt;  // 要素追加後の配列要素数「3」を表示します
  • 最初にいちごが格納されている配列に、array_unshift関数を使用して、りんごとすいかを配列の先頭に追加しています
<?php
  // 配列変数$stationの宣言と初期化
  $station = array ( '上野' );
  
  // 配列の最後に要素を追加します
  $cnt = array_push ( $station, '秋葉原', '銀座' );
  
  echo $station[0];  // 配列の先頭要素'上野'を表示します
  echo '<br>';
  
  echo $station[1];  // 配列の次の要素'秋葉原'を表示します
  echo '<br>';
  
  echo $station[2];  // 配列のその次の要素'銀座'を表示します
  echo '<br>';
  
  echo $cnt;  // 要素追加後の配列要素数「3」を表示します
  echo '<br>';
  • 最初に上野が格納されている配列に、array_push関数を使用して、秋葉原と銀座を配列の最後に追加しています

配列の要素を削除

  • 配列の要素を削除したい場合は、array_shift関数、array_pop関数を使います


配列の先頭から要素を削除したい場合

array_shift - 削除した要素 = array_shift( 要素を削除したい配列変数名 );


配列の最後から要素を削除したい場合

array_pop - 削除した要素 = array_pop( 要素を削除したい配列変数名 );

<?php
  // 配列変数$kenの宣言と初期化
  $ken = array ( '秋田', '長崎', '神奈川' );
  
  // 配列の先頭から要素を削除します
  $del_ken = array_shift( $ken );
  
  // 削除した要素を表示します
  echo $del_ken;
  echo '<br>';
  
  // 配列の要素数を表示します
  echo count( $ken );
  echo '<br>';
  • 最初に秋田、長崎、神奈川が格納されている配列に、array_shift関数を使用して、先頭の秋田を削除しています
<?php
  // 配列変数$recipeの宣言と初期化
  $recipe = array ( 'パスタ', 'うどん', 'カレー' );
  
  // 配列の最後から要素を削除します
  $del_recipe = array_pop ( $recipe );
  
  // 削除した要素を表示します
  echo $del_recipe;
  echo '<br>';
  
  // 配列の要素数を表示します
  echo count ( $recipe );
  echo '<br>';
  • 最初にパスタ、うどん、カレーが格納されている配列に、array_pop関数を使用して、最後のカレーを削除しています

配列をループ

  • foreach
<?php

// 配列に関するループ

$youbi = array("Sun", "Mon", "Tue");
$sales = array("tanaka"=>150, "taguchi"=>200);

// foreach

/*
foreach ($youbi as $y) {
    echo $y;
}
*/

foreach ($sales as $name => $amount) {
    echo $name, $amount;
}