在Foreach中使用PHP数组



我有两个数组:$users[] and $types[]

返回如下结果:

Users = Array ( [0] => 1 [1] => 1 [2] => 1 )
Types = Array ( [0] => 0 [1] => 1 [2] => 0 )

我怎么能叫他们喜欢$user['0]和$types['0]在foreach ?我想这样返回它们:

1, 0
1
1 0

foreach ($users as $index => $code) {
  // this return users first number
  echo $code;
 // i want here to return type first number of array aswell?
}

谢谢,

这很简单:

foreach ($users as $index => $code)
{
    echo $users[$index].', '.$types[$index];
}

如果可能的话,每个数组包含不同数量的元素(或者你根本不知道每个数组包含多少个元素),你还应该检查,特定元素是否存在于第二个数组中:

foreach ($users as $index => $code)
{
    echo $users[$index].', '.(isset($types[$index]) ? $types[$index] : 'doesn't exist');
}

您也可以使用例如for loop:

// array indexes start from 0, if it they're not set explicitly to something else
for ($index = 0; $index < count($users); $index++)
{
    echo $users[$index].', '.(isset($types[$index]) ? $types[$index] : 'doesn't exist');
}

如果你不检查,如果特定的元素存在于第二个数组中,PHP会产生一个类型为notice的错误,它告诉你你正在访问未定义的offset:

PHP Notice: Undefined offset: X in script.php on line Y

其中X是一个索引(键),它存在于第一个数组中,但不存在于第二个数组中。

注意:您应该始终开发启用显示所有类型的错误,甚至注意,并且总是检查特定索引是否存在于数组中,如果您不确定(例如数组来自用户输入,数据库等)。

我想我明白你的意思了。你可以试试这个

foreach ($users as $i => $element){
    echo $users[$i].', '.$types[$i];
}

相关内容

  • 没有找到相关文章

最新更新