0

数時間ウェブを検索しましたが、適切な解決策が見つかりません。

これはケースです:

IDがvarに等しい特定の配列にデータを追加したいと思います。

追加する必要があるデータは次のとおりです。

$var1 = "some data";
$var2 = "some other data";

配列の例:

array (size=2)
  0 => 
    array (size=9)
      'id' => string '1' (length=1)
      'title' => string 'title' (length=13)
      'description' => string 'Some Description' (length=21)
      'function' => string 'Some function' (length=23)
      'employment' => string 'Some employment' (length=18)
      'region' => string 'Eindhoven' (length=9)
      'region_id' => string '1' (length=1)
      'function_id' => string '1' (length=1)
      'employment_id' => string '3' (length=1)
  1 => 
    array (size=9)
      'id' => string '1' (length=1)
      'title' => string 'title2' (length=13)
      'description' => string 'Some Description2' (length=21)
      'function' => string 'Some function2' (length=23)
      'employment' => string 'Some employment2' (length=18)
      'region' => string 'Eindhoven' (length=9)
      'region_id' => string '1' (length=1)
      'function_id' => string '1' (length=1)
      'employment_id' => string '3' (length=1)

別の変数には、IDがあります。条件は次のようになります。

If ($someid == $array[0][0]['id]) {
// Add 'ImNewData' => $var1;
}

この例では 2 つの配列を使用しましたが、最終的な設計では 200 になる可能性があります。

これを行うための最も適切な (高速な?) ソリューションは何ですか?

4

1 に答える 1

1

私が知る限り、アレイに新しいデータを追加しようとしているように聞こえます。

foreach ($array as $index => $user) {
    if ($user['id'] == $id) {
        $user[$index]['example_var'] = $someVar;
    }
}

これは、array [0]を使用して各要素を反復処理し、その要素のインデックスを$indexに格納します。これにより、これらの値を元の配列内に配置できます。$ user値は、foreachループが終了するとスコープから外れるため、元の配列に直接追加する必要があります。

于 2013-03-13T19:44:06.157 に答える