我希望将多个数组显示为一个,这样每次创建对象时它都会获得一个键值,然后形成一个更具体的对象,这是一个简短的例子。
现在如何:
name:[{},{},{},{}]
surname:[{},{},{},{}]
phone: [{},{},{},{}]
我希望如何:
xyz:[{name:{}, surname{}, phone{}},
{name:{}, surname{}, phone{}},
{name:{}, surname{}, phone{}}]
我在php中导出它,以便我可以在AngularJs ng-repeat指令中使用这个JSON对象。
以下是代码:
声明数组:
$name = array();
$surname= array();
$phone= array();
分配值每个循环都在
$name[] = $values ($values wil have the values for the loop)
.....
测试输出
<?php echo json_encode($name);
echo json_encode($surname);
echo json_encode($phone);
?>
答案 0 :(得分:1)
一种简单的方法(run):
$name = array("name 1", "name 2");
$surname = array("surname 1", "surname 2");
$phone = array("phone 1", "phone 2");
$output = array();
for($i = 0; $i < count($name); $i++){
$output[] = array(
'name' => $name[$i],
'surname' => $surname[$i],
'phone' => $phone[$i],
);
}
print_r($output);
输出:
Array
(
[0] => Array
(
[name] => name 1
[surname] => surname 1
[phone] => phone 1
)
[1] => Array
(
[name] => name 2
[surname] => surname 2
[phone] => phone 2
)
)
注意:它假设所有数组都具有相同的大小且具有相同的键。
但也许最好不要将每个值保存到3个不同的变量然后运行这个脚本,尝试将值已经保存到数组中作为所需的输出(如果可能的话,当然,因为我们无法知道)。