список разделенных массивов php как опции - PullRequest
0 голосов
/ 29 октября 2011

Хорошо, так что название не очень хорошее, я просто не знаю, как объяснить, что я пытаюсь сделать в одном коротком предложении, поэтому я приложу все усилия здесь ...

У меня есть массив

$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 ]

2 голосов
/ 29 октября 2011

Вы можете использовать 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 голос
/ 29 октября 2011

Как насчет перечисления двух одновременно:

for ($i = 0; 2 * $i < count($arr); ++$i)
{
  print("First: " . $arr[2 * $i] . ", Second: " $arr[2 * $i + 1]);
}
0 голосов
/ 29 октября 2011

Попробуйте использовать ассоциативные массивы и для этого приложения:

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

Затем вы можете использовать foreach на нем следующим образом:

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