首页 > 开发 > PHP > 正文

自己写的兼容低于PHP 5.5版本的array_column()函数

2024-05-04 23:26:22
字体:
来源:转载
供稿:网友

这篇文章主要介绍了自己写的兼容低于PHP 5.5版本的array_column()函数,array_column是PHP 5.5新增函数,有时在低版本中也可能要用到,需要的朋友可以参考下

array_column 用于获取二维数组中的元素(PHP 5.5新增函数),但我们有时候需要在低版本的PHP环境中使用…

 

 
  1. if( ! function_exists('array_column')) 
  2. function array_column($input$columnKey$indexKey = NULL) 
  3. $columnKeyIsNumber = (is_numeric($columnKey)) ? TRUE : FALSE; 
  4. $indexKeyIsNull = (is_null($indexKey)) ? TRUE : FALSE; 
  5. $indexKeyIsNumber = (is_numeric($indexKey)) ? TRUE : FALSE; 
  6. $result = array(); 
  7.  
  8. foreach ((array)$input AS $key => $row
  9. {  
  10. if ($columnKeyIsNumber
  11. $tmp = array_slice($row$columnKey, 1); 
  12. $tmp = (is_array($tmp) && !emptyempty($tmp)) ? current($tmp) : NULL; 
  13. else 
  14. $tmp = isset($row[$columnKey]) ? $row[$columnKey] : NULL; 
  15. if ( ! $indexKeyIsNull
  16. if ($indexKeyIsNumber
  17. $key = array_slice($row$indexKey, 1); 
  18. $key = (is_array($key) && ! emptyempty($key)) ? current($key) : NULL; 
  19. $key = is_null($key) ? 0 : $key
  20. else 
  21. $key = isset($row[$indexKey]) ? $row[$indexKey] : 0; 
  22.  
  23. $result[$key] = $tmp
  24.  
  25. return $result

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表