使用php打印数组的第一个或前几个“层”?

时间:2017-05-29 16:42:28

标签: php arrays multidimensional-array drupal

我正在创建一个drupal节点模板页面,并且正在尝试处理从字段集合创建的通常较大的多维数组。我在 pre 标签内回显数组,以便它们被格式化,但由于它们的大小,我仍然发现它们很难阅读。例如,以下是$ field_collection中第一个数组项的一部分:

Array
(
[0] => Array
    (
        [2577] => Array
            (
                [#view_mode] => full
                [field_sec1_title] => Array
                    (
                        [#theme] => field
                        [#weight] => 0
                        [#title] => Title
                        [#access] => 1
                        [#label_display] => above
                        [#view_mode] => full
                        [#language] => und
                        [#field_name] => field_sec1_title
                        [#field_type] => text
                        [#field_translatable] => 0
                        [#entity_type] => field_collection_item
                        [#bundle] => field_scholarship
                        [#object] => FieldCollectionItemEntity Object
                            (
                                [fieldInfo:protected] => 
                                [hostEntity:protected] => stdClass Object
                                    (

等等。

那么可以打印出那个数组,但是要停止打印超过指定点(例如,显示字段集合项值的数组),所以它看起来像这样......?< / p>

Array
(
[0] => Array
    (
        [2577] => Array()
        [2578] => Array()
        [2579] => Array()   
     )
)

1 个答案:

答案 0 :(得分:1)

2种方式, 1.将结果输出复制到Notepad ++之类的内容,这样您就可以轻松地折叠数组括号。 2.在输出之前修改数组

$outputArray = [];
foreach ($array as $id=>$data){
  $outputArray[$id] = [
     'MemberOfInterest'=>$data['MemberOfInterest'],
     'MemberOfInterest2'=>$data['MemberOfInterest2'],
   ];
}
echo '<pre>'.print_r($outputArray,true).'</pre>';