首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多维数组php条件环与变量分配

多维数组php条件环与变量分配
EN

Stack Overflow用户
提问于 2016-01-27 16:28:15
回答 2查看 26关注 0票数 0

需要帮助才能弄清楚。在通过ajax单击提交后,我有一个JSON数组转到一个php文件中。一旦在php端解码,如下所示:

数组 =>阵列( ID => 409 ChangeType => CHANGE_SEAT_TO Name => John Doe CHANGE_SEAT_TO => => setTo => 4-2 PreviousSeatValue => PreviousSeatNewValue => Y)1 =>数组( ID => 278 ChangeType =>命名为John Test Seat 4-1 en21# 4-3 en23#YPreviousSeatNewValue => Y)2 =>阵列( ID => 305 ChangeType => REMOVESEAT Name => John Blue Seat => 3-6 setTo => 0)3 =>阵列( ID => 314 ChangeType => CHANGE_SEAT_TO Name => John Red Seat => 3-6 en22 20#Y en22#Y)

主要目标:

我试图做的是循环遍历所有数组,如果变更类型匹配一个字符串(“CHANGE_SEAT_TO”或"REMOVESEAT"),则执行一条SQL语句。在循环期间,Im在为匹配数组中的不同键值分配变量时遇到问题。以下是我到目前为止所拥有的:

代码语言:javascript
运行
复制
$obj = json_decode($_POST['myData'], TRUE);


foreach ($obj as $innerArray){
    foreach($innerArray as $key => $value){

        $$key = $value;
        if($value === "CHANGE_SEAT_TO"){
            echo $ID;
            echo $setTo;


        }
        if($value === "REMOVESEAT"){

            echo $ID;
            echo $setTo;


        }

    }

}

现在,很明显,这只是为了测试目的而设置的(在成功的ajax之后,我在控制台日志中显示了回声)。使用此设置,我能够成功地回显匹配元素的ID,但是如果我尝试任何其他元素,则变量是未定义的。有人能解释为什么会发生这种情况,并对主要目标提出建议吗?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-27 16:36:47

您只需要一个foreach(),检查修改后的代码

代码语言:javascript
运行
复制
<?php
$obj = json_decode($_POST['myData'], TRUE);

foreach ($obj as $innerArray){
    if($innerArray['ChangeType'] == 'CHANGE_SEAT_TO') {
        // do stuff
        $id = $innerArray['ID'];
        // get rest of values in same way
    } else if($innerArray['ChangeType'] == 'REMOVESEAT') {
        // do stuff
        $id = $innerArray['ID'];
        // get rest of values in same way
    }
}
票数 1
EN

Stack Overflow用户

发布于 2016-01-27 16:37:32

试着做这样的事情:

代码语言:javascript
运行
复制
foreach ($obj as $value) {
    if ($value['ChangeType'] == 'CHANGE_SEAT_TO') {
        echo $value['ID'];
        echo $value['setTo'];
    } elseif ($value['ChangeType'] == 'REMOVESEAT') {
        echo $value['ID'];
        echo $value['setTo'];
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35042792

复制
相关文章

相似问题

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