函数分析

WBOY
WBOY원래의
2016-06-13 13:23:44851검색

函数分析求助
小弟新入手php,因对加红语句理解不上,进而对整个函数的功能也就分析不上,求帮助
static public function AssColumn($a=array(), $column='id')
  {
  $two_level = func_num_args() > 2 ? true : false;
  if ( $two_level ) $scolumn = func_get_arg(2);

  $ret = array(); settype($a, 'array');
  if ( false == $two_level )
  {  
  foreach( $a AS $one )
  {  
  if ( is_array($one) )
  $ret[ @$one[$column] ] = $one; else
  $ret[ @$one->$column ] = $one; }  
  }  
  else
  {  
  foreach( $a AS $one )
  {  
  if (is_array($one)) {
  if ( false==isset( $ret[ @$one[$column] ] ) ) {
  $ret[ @$one[$column] ] = array();
  }
  $ret[ @$one[$column] ][ @$one[$scolumn] ] = $one;
  } else {
  if ( false==isset( $ret[ @$one->$column ] ) )
  $ret[ @$one->$column ] = array();

  $ret[ @$one->$column ][ @$one->$scolumn ] = $one;
  }
  }
  }
  return $ret;
  }



------解决方案--------------------
如果$one是一个数组,那么就$ret[ @$one[$column] ] = $one;赋值,否则$one就是对象,就$ret[ @$one->$column ] = $one;赋值
------解决方案--------------------

探讨

如果$one是一个数组,那么就$ret[ @$one[$column] ] = $one;赋值,否则$one就是对象,就$ret[ @$one->$column ] = $one;赋值
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.