PHP数组以及如何从对象获取数组

时间:2018-08-16 04:28:03

标签: php arrays json

希望这里的某人可能会建议应采用什么语法来获取下面数据对象内事务数组中的数据

{
  "data": {
       "pages":10,
       "current":1,
       "token":"1234-1234-1234-1234",
       "transactions":[{"id"}]
   }
}

我正尝试输出数据

    <?php foreach ($someArray as $key => $value){
    echo "<tr><td>". $value[columns][tranid];
    echo "</td><td>". $value[recordtype];
    echo "</td><td>". $value[columns][trandate];
    echo "</td><td>". $value[columns][poref];
    echo "</td><td>". $value[columns][ref][name];
    echo "</td><td>$". number_format($value[columns][amount], 0.00, '.', ',');
    echo "</td><td><a class='woocommerce-button button' href='https://test.com/?a=print&token=". $pmToken ."&i=". base64_encode("PM-" + $value[columns][internalid][internalid]) ."' target='_new'>Print</a>";
    echo "</td></tr>";
    }
    ?>

我是PHP的新手,我不确定如何获取数据 我认为其他语言都只是

$ someArray.transactions将是这样做的方法,但是我不知道如何在PHP中获得它

3 个答案:

答案 0 :(得分:0)

如果要将对象转换为数组,则应使用php函数

$ object = json_decode(json_encode($ array),FALSE);

答案 1 :(得分:0)

可以说您的对象是:

$obj = '{
"data":
{
"pages":10,
"current":1,
"token":"1234-1234-1234-1234",
"transactions":[{"id"}]
}
}';


$arr = (array)$obj;

var_dump($arr); //This will be displayed as array

工作示例: http://codepad.org/uCIB7kfh

答案 2 :(得分:0)

  

使用json_decode()

在您的情况下, $s = '{"key":"value"}' $someArray = json_decode($s); 在for循环之前,您可以添加 var_dump($someArray); 查看结构并获取相应的数据值。