配列操作のいろいろ

1Reading Time

連想配列に値を入れる

$test_array = array(); //初期化 多次元配列でも書き方は同じ

//値を1つずつ入れる方法
$test_array[] = 'apple';
$test_array[] = 'orange';

//値を一度に入れる方法
$test_array = [
    'apple', 
    'orange', 
    'melon', 
    'banana', 
    'pineapple'];

配列にある値が入っているか調べる

in_array関数を使います。

$search_word = ''; 
$search_word = 'apple';

//存在した場合処理する
if ( in_array( $serch_word, $test_array ) ) {
  echo 'appleは存在します';
}
//存在しなかった場合処理する
if ( in_array( $serch_word, $test_array ) == false ) {
  echo 'appleは存在しません';
}

連想配列の要素ごとの最大値・最小値をもとめる

$ary_tmpは多次元連想配列キー「new_price」「used_high_price」「used_low_price」にそれぞれ金額が入っている


$new_price = '';
$used_high_price = '';
$used_low_price = PHP_INT_MAX; //最小値を求める場合は初期化で最大値を入れておく
foreach ($ary_tmp as $i) {
     $new_price       = max($new_price, $i['new_price']);
     $used_high_price = max($used_high_price, $i['used_high_price']);
     $used_low_price  = min($used_low_price, $i['used_low_price']);
}

多次元連想配列のキーを指定してソート

昇順:SORT_ASC
降順:SORT_DESC

foreach ($lists as $key => $value) {
  $pl_career_order[$key] = $value['pl_career_order'];
}
$lists = array_multisort($pl_career_order, SORT_ASC, $lists);

$lists…ソートしたい多次元連想配列

連想配列の中の値を計算(変更)して再度連想配列を作成する

多次元連想配列の場合、foreachでひとつづつ取り出して計算し、新しい配列を作成する。

foreach($tmp_items as $value){
  $amount = '';
  $amount = intval($value['amount']); //念のため数字へ変換
  $value['amount'] = $amount + 1;
  $items[] = $value;  //新しい配列へ