0

基本的に私はこの配列を持っています:

array(
  [0] => array("id" => "0", "header" => "img1"),
  [1] => array("id" => "4", "header" => "img4")
  [2] => array("id" => "6", "header" => "img6")
)

$id = "4" の場合、インデックス [1] を抽出して "ヘッダー" 値を取得するにはどうすればよいですか?

4

3 に答える 3

1

これには foreach ループを実行する必要があります。しかし、正直なところ、単純な isset テストよりも優れた配列インデックスを構築し、そこに値があることを確認したら、値を取得することができます。

正しい方法:

$headers = array(0 => 'img1', 4 => 'img4', 6 => 'img6');

if (isset($headers[$index])) {
  return $headers[$index];
}

配列でそれを処理する方法は次のとおりです(処理の観点からははるかにコストがかかります):

$headers = array(
  0 => array("id" => "0", "header" => "img1"),
  1 => array("id" => "4", "header" => "img4"),
  2 => array("id" => "6", "header" => "img6")
);

foreach ($headers AS $value) {
  if ($value['id'] == $index) {
    return $value['header'];
  }
}
于 2013-09-16T18:22:53.227 に答える