无法将二维数组值分配给php

时间:2018-10-06 06:36:58

标签: php arrays multidimensional-array

今天,我具有以下插入性。

我有以下方法:

public function setTypeValidation ( array $meta, mixed $argument ) {

  if ( isset ( $meta [ "@var" ] ) ) {

    if ( \is_array ( $meta [ "@var" ] ) ) {

      if ( isset ( $meta [ "@var" ] [ 0 ] ) ) {

        $auxMeta = $meta [ "@var" ] [ 0 ];
        
      } else {

        throw new Exception ();
      }
    }
  } else {
    
    throw new Exception ();
  }

  // code to validate data types
}

我进行作业时会发生问题

$auxMeta = $meta [ "@var" ] [ 0 ];

加载页面一分钟后,浏览器向我显示以下内容:

This page does not work
localhost has not sent any data.

然后检查/var/log/apache2/error.log,这是向我显示的错误

[core: notice] [pid 8645] AH00052: child pid 12145 exit signal Segmentation fault (11)

几天来,我一直在寻找该错误的答案,但没有什么可以帮助我有效地解决此问题。应该注意的是,我使用的php配置是标准配置,apache配置也是。另一方面,在同一个论坛中,我得到了修改php指令“ memory_limit”以及修改php指令“ zend.enable_gc”的表单,但是没有一个对我有太大帮助。如果仅修改“ zend.enable_gc = Off”,处理该方法就不需要花费很长时间,但是最终页面仍保留在页面上。

现在,如果我执行以下测试:

\var_dump ( $meta );

它向我显示以下内容:

array ( size = 3 )
  '@string' => boolean true
  '@readwrite' => boolean true
  '@var' =>
    array ( size = 1 )
      0 => string 'string' ( length = 6 )

那很好,因为这就是安排所带来的信息。即使我做了其他测试:

\var_dump ( $meta [ "@var" ] [ 0 ] );

它向我显示以下内容:

/var/www/html/ecomod/sys/core/Inspector.php:445:string 'string' (length = 6)

实际上,这就是我想要获得的值,但是正如我之前说过的,如果我将其分配给变量,则会出现我所遇到的问题。

另一个额外的事实是,如果我在方法之外(即在平面脚本中)执行相同的过程,则它可以正常工作。

这里会发生什么?

谢谢。

0 个答案:

没有答案