你有一些不需要的附加下标。
如果数组中有一个额外的元素,可能更容易取消设置,然后可以循环整个数组。
array_map()
是从现有数组中生成新数组的简单方法。
$shiparraytobesplit = $_POST["shipinventory"];
$ships = explode("zzz", $shiparraytobesplit);
unset($ships[count($ships)-1]);
$shipinfo = array_map(function($ship) {
$tempshipinfo = explode(" ", $ship);
unset($tempshipinfo[count($tempshipinfo)-1]);
return $tempshipinfo;
}, $ships);
print_r($shipinfo);
如果需要关联数组,可以在函数中执行此操作。
$shiparraytobesplit = $_POST["shipinventory"];
$ships = explode("zzz", $shiparraytobesplit);
unset($ships[count($ships)-1]);
$shipinfo = array_map(function($ship) {
$tempshipinfo = explode(" ", $ship);
$ship_assoc = [
"id" => $tempshipinfo[0],
"name" => $tempshipinfo[1],
"username" => $tempshipinfo[2],
"hp" => $tempshipinfo[3]
];
return $ship_assoc;
}, $ships);
print_r($shipinfo);