php list split array as options

时间:2011-10-29 05:07:49

标签: php arrays list foreach

好吧,所以标题不是很好我只是不知道如何解释我在一句话中要做的事情,所以我会尽我所能....

我有一个数组

$options = array('156656', 'bar', '235456','soft', '353636','eve', '4356563', 'evil');

我想要数字和名称是合作/链接所以通过分割list()来完成这个...

list($number, $name) = $options; 

echo $name . ' : ' . $number . '<br />';

显示为

 156656 : bar

但我需要的是所有人都被列为......

156656 : bar
235456 : soft
353636 : eve
4356563 : evil

我猜这是用foreach完成的,但我尝试的却失败了

一如既往,所有的帮助都会受到赞赏并提前感谢。

3 个答案:

答案 0 :(得分:2)

您可以使用array_chunk获取如下的子数组:

$options = array('1', 'bar', '2','soft', '3','eve', '4', 'evil');
foreach (array_chunk($options, 2) as $sub) {
     list($number, $name) = $sub; 
     echo $number . ' : ' . $name . '<br />';
}

答案 1 :(得分:1)

如何一次枚举两个:

for ($i = 0; 2 * $i < count($arr); ++$i)
{
  print("First: " . $arr[2 * $i] . ", Second: " $arr[2 * $i + 1]);
}

答案 2 :(得分:0)

尝试对此应用程序使用关联数组:

$options = array('156656'=>'bar', '235456'=>'soft', '353636'=>'eve', '4356563'=>'evil');

然后,您可以像这样使用foreach:

foreach($options as $key=>$value){
   print("$key: $value\n");
}