我有这段代码,
$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;
}
泰;!)
答案 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(' ' . $j . '<br>'); // over all sub-elements
} else
echo(' ' . $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;
}
?>