为了账号安全,请及时绑定邮箱和手机立即绑定

无法对数组索引php进行排序

无法对数组索引php进行排序

PHP
沧海一幻觉 2021-11-05 10:56:28
我有一个这样的数组,输出: Array    (        [3] => stdClass Object            (                [id] => 11591                [title] => abc            )        [2] => stdClass Object            (                [id] => 11592                [title] => xyz            )        [0] => stdClass Object            (                [id] => 11589                [title] => abg            )        [1] => stdClass Object            (                [id] => 11590                [title] => asw            )    )代码:foreach($results as $rowData){    if($rowData->title=='xyz')    {        $eventperDayArray['0']=$rowData;    }    else if($rowData->title=='asw')    {        $eventperDayArray['1']=$rowData;    }    else if($rowData->title=='abc')    {        $eventperDayArray['2']=$rowData;    }    else if($rowData->title=='abg')    {        $eventperDayArray['3']=$rowData;    }    if($i==5)    {        print_r($eventperDayArray);        die();        break;    }    $i++;}我正在从数组中搜索数据并希望对其进行排序。现在,当 我得到这样的输出时print_r($eventperDayArray);,我想对它进行排序,以便 0 索引应该排在第一位,依此类推。我用过sort,ksort但它没有工作它打印1。
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

使用 ksort() 按键排序


foreach($results as $rowData) {

if ($rowData->title == 'MORNING') {

    $eventperDayArray['0'] = $rowData;

} else if ($rowData->title == 'AFTERNOON') {

    $eventperDayArray['1'] = $rowData;

} else if ($rowData->title == 'EVENING') {

    $eventperDayArray['2'] = $rowData;

} else if ($rowData->title == 'NIGHT') {

    $eventperDayArray['3'] = $rowData;

}

if ($i == 5) {

    print_r($eventperDayArray);

    die();

    break;

}

$i++;

}


ksort($eventperDayArray);


eventperDayArray


查看完整回答
反对 回复 2021-11-05
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

ksort()确实按数组上的键排序。


<?php


$arr = [];

$o = new stdclass();

$o->id = 11591;

$o->title = 'abc';

$arr[3] = $o;

$o = new stdclass();

$o->id = 11592;

$o->title = 'xyz';

$arr[2] = $o;

$o = new stdclass();

$o->id = 11589;

$o->title = 'abg';

$arr[0] = $o;

$o = new stdclass();

$o->id = 11590;

$o->title = 'asw';

$arr[1] = $o;


ksort($arr);

print_r($arr);

演示: https : //3v4l.org/hkLCc


查看完整回答
反对 回复 2021-11-05
  • 2 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信