2

私は一日中これを理解しようとしています...しかし、うまくいかないようです。

私は動作するこのコードを持っています:

<?php foreach ($value['options'] as $option) { ?>
<option><?php echo $option; ?></option>
<?php } ?>

私のオプションとしてリストされている配列で正しく表示されます。しかし、これを行うことで、私が持っていた別の配列をオプションに分割することにより、各配列に値が必要でした:

<?php foreach ($value['options'] as $option) {
      foreach ($value['cids'] as $cid) { ?>
<option value="<?php echo $cid; ?>"><?php echo $option; ?></option>
<?php } } ?>

私がそれを行うときはいつでも、私のオプションはあらゆる方法で倍増しますが、それは私が望んでいないことです. どうすればこのようなことをすることができますか

<?php foreach ($value['options'] as $option AND $value['cids'] as $cid) { 
    echo $option;
    echo $cid;
 } ?>

私はそれがうまくいかないことを知っています...似たようなものが欲しいだけです。前もって感謝します!

4

3 に答える 3

3

使用MultipleIterator:

<?php
$array1 = range(1,5);
$array2 = range(6,10);

$iterator = new MultipleIterator();
$iterator->attachIterator(new ArrayIterator($array1));
$iterator->attachIterator(new ArrayIterator($array2));
foreach($iterator as $items){
        echo $items[0].' - '.$items[1];
}

?>

もちろん、本当の昔ながらのやり方です (若者はどれだけforeach甘やかされたかわかりません):

<?php
$array1 = range(1,5);
$array2 = range(6,10);

//reset array pointers to be sure
reset($array1);
reset($array2);
while((list(,$a) = each($array1)) && (list(,$b) = each($array2))){
   echo $a .':'.$b.PHP_EOL;
}
于 2012-11-08T23:27:39.000 に答える
0

まず、回答ありがとうございます。それは私を正しい方向に導きました。これを機能させるために私がしたことは次のとおりです。

<?php 

$myoptions = array_combine($value['options'], $value['cid']);
foreach ($myoptions as $option => $cid) { ?>

<option value="<?php echo $cid; ?>"><?php echo $option; ?></option>

<?php }  ?>

私はarray_combine自分の価値観を反映するために を行いました。

于 2012-11-09T16:31:01.447 に答える
0

との両方が同じ長さである$value['options']と仮定します。$value['cids']$length

<?php  for($i=0 ; $i < $length; $i++) { ?>
    <option value="<?php echo $value['options'][$i]; ?>"><?php echo $value['cids'][$i]; ?></option>
    $arr[$i];
<?php } ?>

ただし、配列が連想の場合は、次のようなものを使用できます。

function getArrayFromIndex($arr, $ind)
{
    $i==0;
    foreach ($arr as $key => $value) {
        if ($i==$ind)
             return $key;
    }
}

呼び出して N 番目の要素を取得するには

getArrayFromIndex($value['options'],$i)

それ以外の

$value['options'][$i]

于 2012-11-08T23:19:35.897 に答える