php索引数组转键数组,PHP-Codeigniter:如何从指定索引转换数组值?

我有这样的数组

array(2) {

[0]=> object(stdClass)#20

(4) {

["id"]=> string(1) "1"

["name"]=> string(6) "robert"

["height"]=> string(3) "165"

["weight"]=> string(2) "81" }

[1]=> object(stdClass)#21

(4) {

["id"]=> string(1) "2"

["name"]=> string(4) "mike"

["height"]=> string(3) "175"

["weight"]=> string(2) "69" } }

因此,我想更改数组值.

例如,我想更改[[height]]和[[weight]]的所有值.我将身高和体重按如下数字分类:

高度

1 = 150 ………. 170

2 = 171 ………. 190

重量

1 = 50 ……….. 70

2 = 71 ……….. 80

array(2) {

[0]=> object(stdClass)#20

(4) {

["id"]=> string(1) "1"

["name"]=> string(6) "robert"

["height"]=> string(1) "1"

["weight"]=> string(1) "2" }

[1]=> object(stdClass)#21

(4) {

["id"]=> string(1) "2"

["name"]=> string(4) "mike"

["height"]=> string(1) "2"

["weight"]=> string(1) "1" } }

我的数组是动态的,因此值可以随时更改.当然,[“ name”]不会改变,因为我没有给出分类.您能帮我解决这个问题吗?

解决方法:

给定您的示例数组为:

//example people array

$people = [

//robert

(object)[

"id" =>"1",

"name"=> "robert",

"height" => "165",

"weight" => "79",

],

//mike

(object)[

"id" => "2",

"name"=> "mike",

"height"=> "175",

"weight" =>"69",

]

];

您可以在稍作比较之后遍历数组并修改每个对象.请注意,我不会检查所有可能的范围以保持简洁(应该再检查几下)

//walk the array

array_walk($people, function($person){

//test height and assign category

if($person->height <= 190 && $person->height > 170)

$person->height = "2";

else

$person->height = "1";

//test weight and assign category

if($person->weight <= 80 && $person->weight > 70)

$person->weight = "2";

else

$person->weight = "1";

});

https://www.icode9.com/content-1-529451.html

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值