84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
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用法总结