为数组中的每个值添加另一个参数

时间:2011-10-20 13:19:51

标签: php arrays

我有这段代码,

$values = array('a' => 'aa', 'b' => 'bb', 'c' => 'cc');
foreach ($values as $part1 => $part2) {
    echo $part1;
    echo $part2;
    }

如何为数组中的每个值添加另一个参数,如下所示?

$values = array('a' => 'aa' => 'aaa', 'b' => 'bb' => 'bbb', 'c' => 'cc' => 'ccc');
foreach ($values as $part1 => $part2 => $part3) {
    echo $part1; 
    echo $part2;
    echo $part3;
    }

泰;!)

4 个答案:

答案 0 :(得分:2)

这在PHP中是不合法的,因为你指定的是key =>值。

你真正想要的是一个多维数组,如下:

$values = array(
 array('a','aa','aaa'),
 array('b','bb','bbb')
 );

foreach($values as $value) //Loop through all values
{
 foreach($value as $v) //Loop through each individual value 
 {
   echo $v . ' ,' ;
 }
 echo '<br />';
}

为了使结构更清晰,您可以使用print_r函数来显示数组。

答案 1 :(得分:0)

echo $part1.$part2;

您正在寻找什么?

虽然你的问题太模糊了,我宁愿关闭它而不是回答,但这是另一个猜测

$number = 3;
$values = array('a', 'b', 'c');
foreach ($values as $char) {
  for ($i=1;$i<=$number;$i++)
    echo str_repeat($char,$i),"\n";
  }
}

答案 2 :(得分:0)

不确定你想要做什么,但我认为你正朝着有子阵列的方向前进。这是一个例子:

$values = array(
    'a' => 
        array( 'aa', 'aaa' ),
    'b' => 
        array( 'bb', 'bbb')
    //etc
);

var_dump($values);

修改

要输出,只需要一个两阶段循环:

foreach($values as $k => $v) {
    echo($k . ':<br>'); // Will output the keys from above
    if(is_array($v)) {
        foreach($v as $i => $j)              // The value is an array, so iterate 
            echo(' &nbsp; ' . $j . '<br>');  // over all sub-elements 

    } else
        echo(' &nbsp; ' . $v . '<br>');
}

答案 3 :(得分:-1)

输出

<?php

$values = array('a' => 'aa', 'b' => 'bb', 'c' => 'cc');

foreach ($values as $key => $val) {
    echo $key . ' => ' . $val . $key . "\n";
}

?>
分配

<?php

$values = array('a' => 'aa', 'b' => 'bb', 'c' => 'cc');

foreach ($values as $key => $val) {
    $values[$key] += $key;
}

?>