-4

私は配列を持っています

$t1 = array(2,1,8,18,10);

定義されたキーを使用して、この配列から新しい配列を作成したい

$t11 = array("no" => 2, "to" => 1);
$t12 = array("no" => 1, "to" => 8);
$t13 = array("no" => 8, "to" => 18);
$t14 = array("no" => 18, "to" => 10);
$t15 = array("no" => 10, "to" => 0);
4

2 に答える 2

0

あなたが使用することができCachingIteratorますextract

$a = array(2,1,8,18,10);
$it = new CachingIterator(new ArrayIterator($a));
$t1 = array();
foreach ( $it as $v ) {
    $var = array("no" => $v,"to" => 0);
    if ($it->hasNext()) {
        $var["to"] = $it->getInnerIterator()->current();
    }
    $t1[] = $var;

}

extract($t1, EXTR_PREFIX_ALL, "t1");
var_dump($t1_0,$t1_1,$t1_2,$t1_3,$t1_4);

出力

array (size=2)
  'no' => int 2
  'to' => int 1
array (size=2)
  'no' => int 1
  'to' => int 8
array (size=2)
  'no' => int 8
  'to' => int 18
array (size=2)
  'no' => int 18
  'to' => int 10
array (size=2)
  'no' => int 10
  'to' => int 0
于 2013-02-09T11:54:06.030 に答える
0

$i などのカウンター変数でループを使用し、$t1[$i] と $t1[$i+1] を使用して新しい配列を作成し、$i をインクリメントしてから繰り返します。

于 2013-02-09T11:22:10.480 に答える