![](/img/trans.png)
[英]How to create a multidimensional ForEach loop in php using openSUSE vim editor
[英]how to create multidimensional array using a foreach loop in php?
當我在數組中采用表單值時
$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動態生成的。 我想獲得下面提到的成員台鉗陣列。
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']
);
}
根據示例代碼進行更新:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.