首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PHP创建过程性多维数组

问如何使用PHP创建过程性多维数组
EN

Stack Overflow用户
提问于 2019-11-13 06:12:16
回答 1查看 51关注 0票数 0

我是php的超级新手,我正在Unity c#上开发一个游戏,我正在尝试从mysql服务器发送和接收数据。我想我的语法有问题。我基本上有一个从我的c#脚本发送的字符串,它包含多艘船的统计数据。两艘船之间由zzz分隔,zzz是由空格分隔的统计数据字符串。我希望能够在ships数组中设置统计数据数组。这就是我所拥有的,但它不工作。谢谢!!

代码语言:javascript
复制
$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];
}

我已经尝试了一些变体,但是我似乎不能让它在这个例子中工作。我可能遗漏了一些简单的东西,因为我对php完全是个新手,对编程也有些陌生。再次感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-13 06:35:15

你有一些不需要的无关紧要的下标。

如果您在数组中有一个额外的元素,那么取消设置它可能更容易,然后您可以遍历整个数组。array_map()是一种从现有数组生成新数组的简单方法。

代码语言:javascript
复制
$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);

如果你想要关联数组,你可以在函数中实现。

代码语言:javascript
复制
$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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58827461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档