ループkey/value
を使用して、変数として特定の連想配列にアクセスする必要がありforeach
ます。内key/value
のすべてのデータのペアを取得することarray
は問題ではありません。問題は、特定の を取得することkey/value
です。以下のコードを例にとってみましょう
<?php
$data = [
'person1' =>
[
'id' => 101,
'firstName' => 'John',
'LastName' => 'Smith'
],
'person2' =>
[
'id' => 102,
'firstName' => 'Mary',
'LastName' => 'Smart'
]
];
以下のコードkey/value
で、内のすべてのデータのペアを取得できarray
ます。
foreach($data as $firstKey => $firstValue){
foreach ($firstValue as $secondKey => $secondValue) {
echo $secondKey. ": ". $secondValue . "<br />";
}
}
上記のコードは、私が望んでいるものとは異なります。key/value
たとえば、具体的にしたいのですが、id
sだけのキー/値だけを取得したいのです。
だから私はこのようなことを試みました:
$specificId = null;
foreach($data as $firstKey => $firstValue){
foreach ($firstValue as $secondKey => $secondValue) {
if($secondKey == 'id'){ // using if statement to get key/value pair of person's id
$specificId = $secondValue; //storing the specific ids as variable
echo $secondKey . ": ". $specificId . "<br>";
}
}
}
?>
上記のコードは機能しているように見えますが、私も取得key/value
したい場合firstName
は、別のif
ステートメントを作成する必要があります。ループif
内に非常に多くのステートメントを書くことになりforeach
ます。特定のkey/value
ペアを取得するためのより少ないコードを書くことができる別の方法を知っていますか?
私のような多くの同様の質問がありますが、私が探している答えはそれらの質問のいずれの目的でもありません。
foreach($data as $firstKey => $firstValue) {
echo array_keys($firstValue, $firstValue['id'])[0].': '.$firstValue['id'].'</br>';
echo array_keys($firstValue, $firstValue['firstName'])[0].': '.$firstValue['firstName'].'</br>';
}
配列から連想配列キーを呼び出すことができます
キーと値を出力します
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加