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

标签 php arrays laravel object

我有多种方法来检索纸质物体?我尝试 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"
       }
   }
]

在 Blade View 中

   @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

最佳答案

简单地使用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

关于php - 如何获取数组列表中的对象php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59179017/

相关文章:

php - Wordpress DB 字符集从 utf8mb4 更改为 utf8 导致错误

php - 多次运行一个php脚本

arrays - R 中的 data.frame 到 JSON 数组的数组

python - 循环 scikit-learn 机器学习数据集

javascript - 检查数组中的所有值是否相等但忽略空值

php - 在 laravel 中访问多级关系

php - 使用 PSR-7 发出响应

php - SQLSTATE[HY000] : General error: 1364 Field 'reservation_id' doesn't have a default value

php - 查询生成器上的未定义关系方法 - Laravel

php - 在 google plus 上获得关注者