如何在数组列表php中获取对象

Posted

技术标签:

【中文标题】如何在数组列表php中获取对象【英文标题】:how to get object in array list 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数组? 这已经是一个数组了 【参考方案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 你检查我的工作演示了吗?

以上是关于如何在数组列表php中获取对象的主要内容,如果未能解决你的问题,请参考以下文章

如何将对象列表存储在数组中?

寻求有关如何从特定数组中获取所有过滤列表的帮助

PHP 如何读取Javascript 对象的值?

如何在不使用PHP的循环的情况下获取对象数组的索引

如何遍历存储在数组列表中的对象[重复]

如何从对象数组中获取键值列表-JavaScript [重复]