【问题标题】:how to get object in array list php如何在数组列表php中获取对象
【发布时间】:2020-03-29 10:23:15
【问题描述】:

我有多种方法可以检索纸质对象?我尝试foreach,试图获取非对象的属性'sample_url',以及非法字符串偏移'sample_url',如何在对象文件中获取sample_url?

 "active_joins2": [
    {
      "join_registration_number": "SS-006672-I-ID",
      "join_status": "checked",
      "join_tag": "9#science#indonesia#Primary 3",
      "student_id": 7502,
       "paper": {
          "sample_id": 57,
          "sample_title": "Science Indonesia Primary 3",
          "sample_url":"http:google.com/abc/sample/1548989381.pdf",
          "sample_tag": "9#science#indonesia#Primary 3"
       }
    },
    {
      "join_registration_number": "MS-006687-I-ID",
      "join_status": "checked",
      "join_tag": "9#math#indonesia#Primary 3",
      "student_id": 7502,
      "paper": {
         "sample_id": 47,
         "sample_title": "Math Indonesia Primary 3",
         "sample_url":"http://google.com/sample/1548988991.pdf",
         "sample_tag": "9#math#indonesia#Primary 3"
       }
   }
]

在刀片视图中

   @foreach ($item['active_joins2'] as $row => $val)
       @php 
          $string = str_replace('#',' ',$val['join_tag']);
          $exString = explode(" ",$string);
       @endphp       
       <a href="{{}}" style="text-decoration:none;">
           <div class="card jismo-practice-paper mx-auto mb-3">
               <div class="card-body row">
                    <div class="col-lg-6 col-xl-6 col-md-6 col-sm-6 col-6">
                                    <div class="subject" style='text-transform: capitalize'>{{$exString[1]}}</div>
                                    <div class="language" style='text-transform: capitalize'>{{$exString[2]}}</div>
                                </div>
                                <div class="col-lg-6 col-xl-6 col-md-6 col-sm-6 col-6">
                                    <div class="grade">{{$exString[3]}}</div>
                                    <div class="gradenumber">{{$exString[4]}}</div>
                                </div>
                            </div>  
                        </div>
                    </a>
                @endforeach

【问题讨论】:

  • 代码sn-p其实是一个JSON,你是用JSON还是用php数组?
  • 这已经是一个数组了

标签: php arrays laravel object


【解决方案1】:

我认为这是 json,您可以使用 json_decode 函数,然后在 php 中使用该函数,如数组或 std 对象 json_decode

【讨论】:

    【解决方案2】:

    简单地使用json_decode()你的json字符串也缺少开始和结束花括号{ }

    $array = json_decode($object,1);
    foreach($array['active_joins2'] as $key=>$value){
        echo $value['paper']['sample_url'].PHP_EOL;
    }
    

    工作演示: https://3v4l.org/AbsLS

    【讨论】:

    • active_joins2 是一个数组而不是一个对象
    • @MuhamadRahmatSetiawan 你检查我的工作演示了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2019-04-12
    相关资源
    最近更新 更多