84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
Thinkphp select后的数组是一个二维数组,键是从0开始排序的,数组里面是带有ID,现在我要查出来的结果是,一个二维数组,键是数据的ID.
有什么办法呢?
认证高级PHP讲师
复制一个数组不行吗
<?php $arr = [ [ 'id' => 1, 'name' => "Bob", 'sex' => "男", ], [ 'id' => 2, 'name' => "Frank", 'sex' => "男", ], ]; $arr2 = []; for ($i=0; $i < count($arr); $i++) { $arr2[$arr[$i]['id']] = $arr[$i]; unset($arr2[$arr[$i]['id']]['id']); } var_dump($arr2);
使用thinkphp的getField()方法查询。getField方法不只是用来查询个别字段的值,还可以用来指定查询结果的数组索引。如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值),例如:
$result = $User->where('status=1')->getField('id,account,nickname');
获得的数组就是以id(第一个字段)为数组键,id,account,nickname字段数据为值组成的数组。只填入2个字段则得到的键值对。
详细:getField用法总结
复制一个数组不行吗
使用thinkphp的getField()方法查询。
getField方法不只是用来查询个别字段的值,还可以用来指定查询结果的数组索引。
如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值),例如:
获得的数组就是以id(第一个字段)为数组键,id,account,nickname字段数据为值组成的数组。
只填入2个字段则得到的键值对。
详细:getField用法总结