0

我在访问数组中的数据时遇到了一些麻烦,如下所示:

array ( 
    0 => array ( 'value' => '46', 'label' => 'Brand A', ), 
    1 => array ( 'value' => '45', 'label' => 'Brand B', ), 
    2 => array ( 'value' => '570', 'label' => 'Brand C', ), 
);

本质上,我希望能够在给定值时返回标签的内容(例如45 返回 Brand B),但不确定如何在这些级别内执行此操作。

我是否需要通过某种循环将这个数组分解成更小的块来访问这些数据?

谢谢

4

3 回答 3

1

创建数组时,您需要使用该值作为键:

array(
    '46' => 'Brand A',
    '45' => 'Brand B',
);

或者

$arrayVar['46'] = 'Brand A';

等等

如果您不是创建数组的人,那么您可以foreach遍历它并将其重新加工成不同的结构。

于 2013-02-22T06:01:25.317 回答
0

尝试这个

<?php
$arr = array ( 
    0 => array ( 'value' => '46', 'label' => 'Brand A', ), 
    1 => array ( 'value' => '45', 'label' => 'Brand B', ), 
    2 => array ( 'value' => '570', 'label' => 'Brand C', ), 
);

foreach($arr as $ele){
echo "value=".$ele['value']." and label=".$ele['label'];
}
?>
于 2013-02-22T06:06:55.987 回答
0
<?php
$arr = array ( 
    0 => array ( 'value' => '46', 'label' => 'Brand A', ), 
    1 => array ( 'value' => '45', 'label' => 'Brand B', ), 
    2 => array ( 'value' => '570', 'label' => 'Brand C', ), 
);

$val = 45; // search for 45

foreach($arr as $vals){
   if($vals['value'] == $val){
      echo "value=".$vals['value'];
      echo "<br>";
      echo "label=".$vals['label'];
   }
}
?>
于 2013-02-22T06:12:20.980 回答