0

私は次のような多次元配列を検索することができました

Array
(
    [0] => Array
        (
            [size] => 39
            [colour] => N/A
            [quantity] => 5
        )

    [1] => Array
        (
            [size] => 35
            [colour] => N/A
            [quantity] => 5
        )

    [2] => Array
        (
            [size] => 40
            [colour] => N/A
            [quantity] => 5
        )

    [3] => Array
        (
            [size] => 30
            [colour] => N/A
            [quantity] => 5
        )

)

そして、このような一致の配列に一致するものを返します

Array
(
    [size] => 35
    [colour] => N/A
    [quantity] => 5
)

このスニペットを使用する

$result = array();
foreach ($multi_array as $arr) {
  if ($arr['size'] == $one_dimen_arr['size'] && $arr['colour'] == $one_dimen_arr['colour']) {
    $result = $arr;
    break;
  }
}

マスター多次元配列から一致を削除し、その位置で更新された配列に置き換えることは可能ですか?

4

2 に答える 2

1

このようにしてみてください

$result = array();
foreach ($multi_array as $key => $arr) {
  if (
     $arr['size'] == $one_dimen_arr['size'] && 
     $arr['colour'] == $one_dimen_arr['colour']
  ) {
    $result = $arr;
    unset($multi_array[$key])  //to remove the matching array
    $multi_array[$key] = $yourUpdatedArr; //to update the values
    break;
  }
}
于 2012-09-30T12:43:26.077 に答える
0

これを試して、

    $result = array();
    foreach ($multi_array as $key=>$arr) {
      if ($arr['size'] == $one_dimen_arr['size'] && $arr['colour'] == $one_dimen_arr['colour']) {
        $i = $key;
        $result = $arr;
        break;
      }

    }
if(isset($i)){$multi_array[$i] = $updatedArray;}
于 2012-09-30T12:42:24.283 に答える