如何使用PHP创建过程多维数组
我是php的新手,我正在Unity c#中开发一个游戏,我正在尝试从mysql服务器发送和接收数据。我想我的语法有问题。我基本上有一个从我的c#脚本中发送的字符串,它保存了多艘飞船的统计数据。这两艘船由zzz分隔,zzz是由空间分隔的一系列属性。我希望能够在ships数组中设置stats数组。这就是我所拥有的,但它不起作用。谢谢如何使用PHP创建过程多维数组,php,mysql,for-loop,multidimensional-array,procedural,Php,Mysql,For Loop,Multidimensional Array,Procedural,我是php的新手,我正在Unity c#中开发一个游戏,我正在尝试从mysql服务器发送和接收数据。我想我的语法有问题。我基本上有一个从我的c#脚本中发送的字符串,它保存了多艘飞船的统计数据。这两艘船由zzz分隔,zzz是由空间分隔的一系列属性。我希望能够在ships数组中设置stats数组。这就是我所拥有的,但它不起作用。谢谢 $shiparraytobesplit = $_POST["shipinventory"]; $ships = explode("zzz", $shiparrayto
$shiparraytobesplit = $_POST["shipinventory"];
$ships = explode("zzz", $shiparraytobesplit);
for($i = 0; $i<count($ships)-1; $i++)
{
$tempship[$i] = $ships[$i];
$tempshipinfo = explode(" ", $tempship);
for($ii = 0; $ii<count($tempshipinfo[!i])-1; $ii++)
{
//$shipinfo[$tempship][] = $info . '_' . $tempshipinfo;
$shipinfo[$ii] = $tempshipinfo[$ii];
}
echo $shipinfo[1];
}
$shiparaytobesplit=$\u POST[“shipinventory”];
$ships=爆炸(“zzz”,$shiparraytobesplit);
对于($i=0;$i您有一些不需要的无关下标
如果数组中有一个额外的元素,则可能更容易将其取消设置,然后可以在整个数组上循环。array\u 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);
为什么要从循环中的计数中减去1?您正在跳过每个数组的最后一个元素。explode($“”,$tempship)
毫无意义。$tempship
是一个数组,而不是字符串。您的意思是写$tempship=$ships[$i];
?为什么不使用foreach($tempship作为$tempship发货)
?什么是$tempship[!i]
应该是什么意思?哈哈,我不太擅长组合字符串,所以我以某种方式结束了一个额外的迭代,它的结尾只有“”。您可能应该使用内爆()
在组合字符串时。非常感谢!!这正是我在过去3天中一直在尝试的。我将阅读array\u map。我使用了您给出的第一个示例,效果很好!再次感谢