我有以下代码:
foreach(array_combine($names, $hashids) as $name => $hashid) {
echo '<tr>
<td>'.$counter.'</td>
<td>'.$name.'</td>
<td>'.$hashid.'</a></td>
</tr>';
}
现在我想再组合一个数组和 iterate
它在 foreach
中的值。这是一个 foreach 语句中的三个数组。谁能帮我添加它。比如我们如何在 foreach 语句中添加多个 arrays
。
例如我想要这样的东西:
foreach(array_combine($names, $hashids, $photoids) as $name => $hashid => $photoid) {
echo '<tr>
<td>'.$counter.'</td>
<td>'.$name.'</td>
<td>'.$hashid.'</td>
<td>'.$photoid.'</td>
</tr>';
}
但上面的代码给了我error
。我得到的错误是
解析错误:第 58 行 /homepages/4/d864452909/htdocs/public_html/app/index.php 中的语法错误,意外的 '=>' (T_DOUBLE_ARROW),期待 ')'
答案 0 :(得分:1)
如果我是你,我会用简单的 foreach()
循环这样做,
<?php
$names = ['Sample','Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.mp4'];
$hashid = ['JdpmLLdx5me7K','lWJQjwrVRZdXn'];
$photoids = ['url_1_of_the_image','url_2_of_the_image'];
$result = [];
foreach ($names as $key => $value) {
$result[$key] = array(
'name' => $names[$key],
'hashid' => $hashid[$key],
'photoid' => $photoids[$key],
);
}
foreach($result as $k => $v) {
echo '<tr>
<td>'.$k.'</td>
<td>'.$v['name'].'</td>
<td>'.$v['hashid'].'</td>
<td>'.$v['photoid'].'</td>
</tr>';
}
答案 1 :(得分:1)
您可以按如下方式合并对象
$arr = array();
foreach ($names as $value) {
array_push($arr, $value);
}
for($x = 0; $x < count($arr); $x++) {
foreach($arr[$x] as $y => $val) {
$arr[$x] = (object) array_merge((array) $arr[$x], (array) $hashids[$x]);
$arr[$x] = (object) array_merge((array) $arr[$x], (array) $photoids[$x]);
}
}
for($x = 0; $x < count($arr); $x++) {
echo '<tr>
<td>'.$arr[$x]->counter.'</td>
<td>'.$arr[$x]->name.'</td>
<td>'.$arr[$x]->hashid.'</td>
<td>'.$arr[$x]->photoid.'</td>
</tr>';
}