如何在php中使用foreach循环创建多维数组?
当我采用数组中的值形式时如何在php中使用foreach循环创建多维数组?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,当我采用数组中的值形式时 $fname = $_POST['first_name']; $lname = $_POST['last_name']; $job = $_POST['job']; $desc = $_POST['desc']; $photo = $_POST['image_url']; $memberdata = Array( 'first_name' => $fname, 'last_name' => $lname,
$fname = $_POST['first_name'];
$lname = $_POST['last_name'];
$job = $_POST['job'];
$desc = $_POST['desc'];
$photo = $_POST['image_url'];
$memberdata = Array(
'first_name' => $fname,
'last_name' => $lname,
'job' => $job,
'desc' => $desc,
'image_url' => $photo
);
它像下面那样回显这个阵列。
如何修改代码以实现目标?
有没有其他方法可以得到我想要的结果?
成员表单是使用jquery动态生成的。
我想得到我在下面提到的成员vise数组
Array
(
[first_name] => Array
(
[0] => Member1
[1] => Member2
[2] => Member3
)
[last_name] => Array
(
[0] => Member1
[1] => Member2
[2] => Member3
)
[job] => Array
(
[0] => President
[1] => MD
[2] => CEO
)
[desc] => Array
(
[0] => President of
[1] => MD of
[2] => CEO of
)
[image_url] => Array
(
[0] =>
[1] =>
[2] =>
)
)
如何从上面的数组中生成特定的数组?
如何修改代码以实现目标?
这就是我想要的
Array
(
[0] => Array
(
[first_name] => Member1
[last_name] => Member1
[job] => President
[desc] => President of
[image_url] =>
)
[1] => Array
(
[first_name] => Member2
[last_name] => Member2
[job] => MD
[desc] => MD of
[image_url] =>
)
[2] => Array
(
[first_name] => Member3
[last_name] => Member3
[job] => CEO
[desc] => CEO of
[image_url] =>
)
)
我猜您的
foreach
循环如下所示:
$result = array();
foreach($members as $member) {
$result['firstname'][] = $member['firstname'];
$result['last_name'][] = $member['last_name'];
//etc
}
$result = array();
foreach($members as $member) {
$result[] = array(
'firstname' => $member['firstname'],
'last_name' => $member['last_name'],
'job' => $member['job'],
'desc' => $member['desc'],
'image_url' => $member['image_url']
);
}
应该是这样的:
$result = array();
foreach($members as $member) {
$result['firstname'][] = $member['firstname'];
$result['last_name'][] = $member['last_name'];
//etc
}
$result = array();
foreach($members as $member) {
$result[] = array(
'firstname' => $member['firstname'],
'last_name' => $member['last_name'],
'job' => $member['job'],
'desc' => $member['desc'],
'image_url' => $member['image_url']
);
}
基于示例代码的更新:
POST字段是数组,因此必须确保为每个成员发布所有字段,因为for
循环基于具有相同值的所有字段
$fname = $_POST['first_name'];
$lname = $_POST['last_name'];
$job = $_POST['job'];
$desc = $_POST['desc'];
$photo = $_POST['image_url'];
$memberdata = array();
// we iterate the firstname field and access the same indexes from the other fields. The $i starts with 0 and gets incremented until it iterated over all the firstnames
for($i = 0; $i < count($fname); $i++) {
$memberdata[] = array(
'first_name' => $fname[$i], // we access the firstname at the current index
'last_name' => $lname[$i],
'job' => $job[$i],
'desc' => $desc[$i],
'image_url' => $photo[$i]
);
}
var_dump($memberdata);
$fname=$\u POST['first\u name'];
$lname=$\u POST['last\u name'];
$job=$_POST['job'];
$desc=$_POST['desc'];
$photo=$\u POST['image\u url'];
$memberdata=array();
//我们迭代firstname字段并从其他字段访问相同的索引。$i从0开始递增,直到它遍历所有的名字
对于($i=0;$i$fname[$i],//我们在当前索引处访问firstname
“姓氏”=>lname[$i],
“作业”=>$job[$i],
'desc'=>$desc[$i],
'image_url'=>$photo[$i]
);
}
var_dump($memberdata);
请添加foreach
循环PHP代码,您是如何尝试解决此问题的,但没有成功?谢谢@Tumtum,但它只显示空数组,没有其值。我已经编辑了我的帖子,也许你可以从中得到一些想法。