为了账号安全,请及时绑定邮箱和手机立即绑定

如何将此字符串转换为数组?

如何将此字符串转换为数组?

PHP
慕无忌1623718 2022-09-25 20:55:41
我正在尝试将我在JS中创建的这个数组转换为在我的控制器中使用的数组,以便在foreach中使用并使用数组的数据。我正在使用框架代码刻画器。在这里,我在我的JS文件中创建数组。function get_array(){  var datos = []; // Array  $("#tbl_esctructura tbody > tr").each(function() {    var item = $(this).find('td:eq(1)').text();    var cantidad = $(this).find('td:eq(4)').text();    datos.push({       "item": item,       "cantidad": cantidad    });  });  datos =  JSON.stringify(datos);   $.ajax({        data: {            'datos': datos        },        url: "<?php echo base_url() ?>Controller/data_from_array",        type: 'POST',        dataType : "json",        success: function(response) {        }    });}我发送到控制器的数据看起来像这样。[{"item":"1","cantidad":"2"},{"item":"2","cantidad":"4"}]现在我的控制器 PHPpublic function data_from_array(){   $data   =  $this->input->post('datos', TRUE);   $items = explode(',', $data);   var_dump($items);   foreach ($items as $row) {       echo  $row->item.'<br>';   }}这就是结果var_dump($items)array(2) { [0]=> string(12) "[{"item":"1"" [1]=> string(16) ""cantidad":"1"}]" }         }在这个回声中,我得到这个错误Message: Trying to get property 'item' of non-object我不知道我做错了什么
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

看起来像一个标准的 JSON。请务必将 true 添加到json_decode函数(第二个参数)以返回数组而不是对象。

$result = json_decode($data, true);

看看JSON,因为这是当今Web和移动应用程序的数据交换标准,并了解有关该功能的更多信息:

https://www.php.net/manual/en/function.json-decode.php

还要看看它的对应物,它将把你的数组编码成JSON格式:

https://www.php.net/manual/en/function.json-encode.php


查看完整回答
反对 回复 2022-09-25
?
12345678_0001

TA贡献1802条经验 获得超5个赞

有两种情况:

  1. 如果要解析 JSON 对象,则

    $items = json_decode($data); // instead of $items = explode(',', $data);
  2. 如果要将数据视为字符串,则

    echo  $row[0].'<br>'; // instead of echo  $row->item.'<br>';


查看完整回答
反对 回复 2022-09-25
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

可以将此代码用作分解返回数组,而不是对象。


public function data_from_array(){

  $data   =  $this->input->post('datos', TRUE);

  $items = explode(',', $data);

  var_dump($items);

   foreach ($items as $row) {

      echo  $row["item"].'<br>';

   }


查看完整回答
反对 回复 2022-09-25
  • 3 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信