PHP array_column() 函数不存在 简单自定义

本文介绍如何为PHP 5.5之前的版本自定义一个array_column函数。此函数用于从数组中提取特定列的数据,非常实用。文章提供了实现该功能的具体代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//PHP array_column() 函数不存在 array_column 是5.5新增的
//这个函数很常用 ,如果要在5.5之前使用 可以简单的自定义一个函数



if (!function_exists('array_column')) {
	function array_column($arr2, $column_key) {
		$data = [];
		foreach ($arr2 as $key => $value) {
			$data[] = $value[$column_key];
		}
		return $data;
	}
}


`array_multisort()`函数在使用自定义排序数组(如 `$diy_sort`)时,如果你遇到 `'SORT_ASC' 设置无效` 的错误,可能是因为以下几个原因: 1. **自定义存在**:确认提供的键 `'diy_sort'` 是否存在于原始数组 `$billList` 中。如果是,你需要修改`array_column()`的参数,传入实际存在的键。 2. **键未作为数组列返回**:`array_column()`可能没有正确地提取出你想要排序的数据。检查它的参数是否正确,比如是否指定了正确的索引和数据源。 3. **自定义排序数组有误**:`['diy_sort']` 应该是一个包含排序规则的数组。如果你希望所有的 `'diy_sort'` 都按升序排列,你应该直接传递 `'diy_sort'`,而是一个数组。如果需要自定义排序,你应该传递一个关联数组,比如 `['diy_sort' => SORT_DESC]` 表示降序排列。 4. **排序函数冲突**:如果你之前设置了其他的排序函数,可能会影响到`SORT_ASC`。确保在调用`array_multisort()`前,没有其他影响全局排序的函数设置。 修正这个问题后,尝试以下代码: ```php $diy_sort_key = 'your_custom_sort_key'; $sorted_billList = array_multisort(array_column($billList, $diy_sort_key), ASC, $billList, $diy_sort_key); ``` 或者如果需要自定义排序规则: ```php $custom_sort_rules = ['diy_sort' => SORT_DESC]; array_multisort(array_column($billList, 'diy_sort'), $custom_sort_rules['diy_sort'], $billList, 'diy_sort'); ``` 记得替换 `'your_custom_sort_key'` 为你实际使用的键名。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值