代码之家  ›  专栏  ›  技术社区  ›  LeeAlexander

如何提取PHP数组值并删除数据

php
  •  -1
  • LeeAlexander  · 技术社区  · 8 年前

    我见过很多方法,但似乎都不管用。我的数组数据是这样返回的。

    Array
    (
        [0] => RESULT=0
        [1] => RESPMSG=Approved
        [2] => SECURETOKEN=8cpcwfZhaH02qNlIoFEGZ1wO4
        [3] => SECURETOKENID=253cad735251571cebcea28e877f4fd7
    

    <?php echo  $response[2];?>
    

    把每一个都拿出来,这很有效。但是我需要删除SECURETOKEN=so,我只剩下数字字符串。我一直在尝试这样的事情,但没有成功。

    function test($response){  
        $secure_token = $response[1];  
        $secure_token = substr($secure_token, -25);  
        return $secure_token; 
    }
    

    此外,我把结束数字放入表单输入值字段。这无关紧要,除非它真的重要? 谢谢

    2 回复  |  直到 8 年前
        1
  •  2
  •   Don't Panic    8 年前

    $keyResponse = [];
    foreach ($response as $item) {
        list($k, $v) = explode('=', $item, 2);
        $keyResponse[$k] = $v;
    }
    

    echo $keyResponse['SECURETOKEN']; // output: 8cpcwfZhaH02qNlIoFEGZ1wO4
    

    这种方法的优点是,如果项目的顺序在 $response 变化

        2
  •  1
  •   Brian Gottier    8 年前

    <?php
    
    $arr = array(
        'RESULT=0',
        'RESPMSG=Approved',
        'SECURETOKEN=8cpcwfZhaH02qNlIoFEGZ1wO4',
        'SECURETOKENID=253cad735251571cebcea28e877f4fd7'
    );
    
    $el = $arr[2];
    $parts = explode('=', $el);
    echo '#1 SECURETOKEN is ' . $parts[1];
    
    // This break just for testing
    echo '<br />';
    
    // If you wanted to, you could revise the whole array
    $new = array();
    foreach( $arr as $el ){
        $parts = explode('=', $el);
        $new[$parts[0]] = $parts[1];
    }
    
    // Which would mean you could then get your securetoken like this:
    echo '#2 SECURETOKEN is ' . $new['SECURETOKEN'];
    
    推荐文章