如何在php中获取此数组的第3个元素的值?

时间:2016-04-18 21:05:51

标签: php arrays

我在这里有点困惑。我能够通过指定数字来获取所有数组值,但是我无法弄清楚如何获取名为" flag"的元素的值。在数组中。我对数组一般是新手,并试图学习所有的术语,但我似乎无法实现我所需要的。这是数组:

Array
(
[0] ( Array
    (
        [id] => 1
        [name] => Bag
        [flag] => 0
    )

[1] => Array
    (
        [id] => 2
        [name] => Screen
        [flag] => 0
    )

[2] => Array
    (
        [id] => 3
        [name] => HD
        [flag] => 0
    )

)

要获得该输出,我输入了:

print_r(array_values($items));

如果我打字(我明白这是从哪里来的):

print_r(array_values($items[1]));

然后我得到:

Array
(
[0] => 2
[1] => Screen
[2] => 1
)

我需要得到的是"标志"此数组中的(第3个)列。我只是不确定如何获得这个价值。该数组将始终从mysql数据库中按顺序提取。我基本上是想做这样的事情:

if ($array[1].[flag]==1){
echo "Flag is true";
}else{
echo "Flag is false";
}

我只是不确定如何指定第3个元素。

由于

4 个答案:

答案 0 :(得分:0)

$items是保存数组的(外部)array。 Foreach迭代(外部)数组中包含的数组。它们被分配给变量$item。 如果数组的'flag'值等于1,则回显“Flag为true”,否则“Flag为false”

foreach ($items as $item) {
  echo $item['flag'] == 1 ? "Flag is true" : "Flag is false";
}

答案 1 :(得分:0)

您的代码有一点语法错误$array[1].["flag"]之间不能有.,应该是

if ($array[1]["flag"]==1){
echo "Flag is true";
}else{
echo "Flag is false";
}

这应该有用。

答案 2 :(得分:0)

如果你的意思是子阵列数组中的第三个元素,那么你可以这样做:

$thirdItem = $items[2]

如果来自第三个元素,则表示id = 3的子数组

function getItemByID( $items, $id ) {
   for( $i = 0; $i < count( $items ); $i ++ ) {
      if( $items[$i]['id'] == $id ) return $items[$i];
   }
}

$item = getItemByID( $items, 3 );

如果来自第3个元素,则表示子流3中的标志值

$value = $items[2]['flag'];

$value = $thirdItem['flag']

我希望有所帮助!

答案 3 :(得分:0)

这是您在问题中发布的一个小例子。在这个例子中,我冒昧地改变了第2和第3阵列的标志。

    $items = array
(
0 => array
    (
        'id' => 1,
        'name' => 'Bag',
        'flag' => 0
    ),
1 => array
    (
        'id' => 2,
        'name' => 'Screen',
        'flag' => -1
    ),
2 => array
    (
        'id' => 3,
        'name' => 'HD',
        'flag' => 1
    )

);
foreach($items as $item) {
    if(empty($item['flag'])) { 
        echo "Item having ID=".$item['id']." has it's flag turned off\n";
    } else {
        if($item['flag']==1) {
         echo "Item having ID=".$item['id']." has it's flag turned on\n";
        } else {
         echo "Item having ID=".$item['id']." has unacceptable flag value \n";  
        }
        }
    }

以上示例填充以下内容:

  • ID = 1的项目已关闭标记
  • ID = 2的项目具有不可接受的标志值
  • ID = 3的项目打开了标志

您可以在此处查看:http://sandbox.onlinephpfunctions.com/code/8b04a7d9faae8c0a8d335b6cccdadcc7fbe61f61