PHPでは、特定のキーに関連付けられた値をどのように見つけるのですか

StackOverflow https://stackoverflow.com/questions/187515

  •  06-07-2019
  •  | 
  •  

質問

2つの配列があります。 1つには id => count が含まれ、もう1つには id => name が含まれます。 name => count という単一の配列を作成しようとしています。これを行う簡単な方法に関する提案はありますか?

PHPマニュアルの配列関数を見ましたそして、私が望むことをしていると目立ったものを見なかったので、機能の組み合わせが必要になると推測していますが、複雑ではない何かを思い付くのに苦労しています。

役に立ちましたか?

解決

次のようなもの:

foreach($countA as $id => $count)
{
    $newArray[$nameA[$id]] = $count;
}

これは、要件があいまいなため、キーが2つの配列間で一致していることを前提としています。

他のヒント

array_combine ...

を使用します。
$countArray = array(0 => 1, 1 => 5);
$namesArray = array(0 => "Bob", 1 => "Alice");

$assocArray = array_combine($namesArray, $countArray);

編集:これは、コメント#2で表された新しい要件の修正されたソリューションです。

$assocArray = array();
foreach($namesArray as $id => $name) {
    $assocArray[$name] = (array_key_exists($id, $countArray)) ? $countArray[$id] : 0;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top