Cakephp按数组中的第一项排序
我有一个如下所示的数组:Cakephp按数组中的第一项排序,php,arrays,cakephp,sorting,Php,Arrays,Cakephp,Sorting,我有一个如下所示的数组: Data = array( 'Offer' => array(), 'Country' = array('Name' => Array()) ) 现在,如果我想根据Name数组的第一项的值进行排序,我该如何处理呢 到目前为止我已经试过了: $dataArray = $originalData['data']; $dataArray = Set::sort($dataArray, '{n}.Country.Name', $direction);
Data = array(
'Offer' => array(),
'Country' = array('Name' => Array())
)
现在,如果我想根据Name
数组的第一项的值进行排序,我该如何处理呢
到目前为止我已经试过了:
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Country.Name', $direction);
然而,这并没有起作用
注意im使用CakePHPset::Sort
是CakePHP的一部分
好吧,看来我还不够清楚,下面是我问题的更详细解释:
因此,我在cake中创建了自己的数据源,用于从API收集数据
API以如下方式返回数据:
data = array(
'Offer' => array('id' => 2, 'name' = 'ExampleName'),
'Stat' => array('Stat1' = 1, 'Stat2' = 2),
'Country => array('Name' => array('name1','name2')
);
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Country.Name', $direction);
$originalData['data'] = $dataArray;
现在,为了让用户能够对这些数据进行排序,我必须确保正确显示
如果只有一个值,即:
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Stat.Stat1', 'ASC);
$originalData['data'] = $dataArray;
然而,country是一个数组,所以为了“复制”上面的代码,我需要使用country['Name']数组的第一项
要这样做:
data = array(
'Offer' => array('id' => 2, 'name' = 'ExampleName'),
'Stat' => array('Stat1' = 1, 'Stat2' = 2),
'Country => array('Name' => array('name1','name2')
);
$dataArray = $originalData['data'];
$dataArray = Set::sort($dataArray, '{n}.Country.Name', $direction);
$originalData['data'] = $dataArray;
但是,上述代码失败…创建了测试数据:
$dataArray = array();
$data = array(
'Offer' => array('id' => 2, 'name' => 'ExampleName'),
'Stat' => array('Stat1' => 1, 'Stat2' => 2),
'Country' => array('Name' => array('z','name2'))
);
array_push($dataArray,$data);
$data = array(
'Offer' => array('id' => 2, 'name' => 'ExampleName'),
'Stat' => array('Stat1' => 1, 'Stat2' => 3),
'Country' => array('Name' => array('a','name2'))
);
array_push($dataArray,$data);
print_r(Set::sort($dataArray,'{n}.Country.Name','asc'));
与输出数组的链接:没有收到您的问题,您想要这样的内容吗@AtaurrahimHowdhury蛋糕有一个内置函数来排序,我想用它啊,它给出了什么错误?您是否得到错误排序的数据?因为它对我有用!看看下面的代码:,可能你做了一些不同的事情吗?@AtaurRahimChowdhury我确实修复了它。你的回复给了我一些想法,但并不完全。请将其作为答案发布,我会接受;)