php 数组将id 变成键,PHP替换数组ID键

我正在使用一个mysql查询来为嵌套结果(类别和子类别)创建多维数组.

询问

SELECT `categories`.`cat_title`, `subcategories`.`sub_cat_id`, `subcategories`.`sub_cat_title`

FROM (`categories`)

LEFT JOIN `subcategories`

ON `subcategories`.`cat_id` = `categories`.`cat_id`

ORDER BY `categories`.`cat_title

创建多维数组

$array = array();

foreach ($query->result_array() as $row): //query result as a pure array

$array[$row['cat_title']][] = $row['sub_cat_title'];

endforeach;

return $array;

以上返回类别及其各自的子类别.

Array (

[Art] => Array ( [0] => Graphic Design [1] => Painting )

[Literature] => Array ( [0] => Science Fiction [1] => Poetry [2] => Fiction )

[Science] => Array ( [0] => Environmental )

)

是否可以用查询数据(例如子类别id sub_cat_id)替换阵列键?例如

[Literature] => Array ( [8] => Science Fiction [94] => Poetry [5] => Fiction )

解决方法:

是的,在循环中进行设置:

$array[ $row['cat_title'] ][ $row['sub_cat_id'] ] = $row['sub_cat_title'];

但是,可能尚未设置$array [$row [‘cat_title’]],因此您应该预先添加此检查:

if( !isset( $array[$row['cat_title']])) {

$array[$row['cat_title']] = array();

}

您的原始代码不需要此检查,因为$array []不会生成任何通知/警告,但是当您尝试设置特定键时,如果尚未将变量声明为数组,则会生成通知/警告. .

标签:mysql,php

来源: https://codeday.me/bug/20191201/2077448.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值