我有一个数组数组:
Array (
[0] => Array (
[id] = 7867867,
[title] = 'Some Title'),
[1] => Array (
[id] = 3452342,
[title] = 'Some Title'),
[2] => Array (
[id] = 1231233,
[title] = 'Some Title'),
[3] => Array (
[id] = 5867867,
[title] = 'Some Title')
)
Run Code Online (Sandbox Code Playgroud)
需要按特定顺序进行:
我该怎么做呢?我之前已对数组进行了排序,并阅读了大量有关它的其他帖子,但它们始终是基于比较的(即valueA <valueB).
感谢帮助.
我的阵列:
$data = array('two' => 2, 'one' => 1, 'three' => 3);
Run Code Online (Sandbox Code Playgroud)
现在,当我迭代数组时,将出现的第一个值可能是
$data['two'] // = 2 @ index[0]
Run Code Online (Sandbox Code Playgroud)
对?
如果我想将$ data [1]移动到$ data [0]的位置怎么办?
改写:
如何使数组看起来像这样(以便'$'出现在$ data [0])
$data = array('one' => 1, 'two' => 2, 'three' => 3
Run Code Online (Sandbox Code Playgroud)
我为什么需要这个?
我使用代码点火器,table-> generate内置函数接受一个assoc数组并创建一个表,但不提供排列列的方法.这就是我想移动源数组中的列的原因.
好吧,我已经在stackoverflow中得到了这个问题,但遗憾的是它是在javascript中 - Javascript - 基于另一个数组的排序数组
我希望它在PHP中
$data = array(
"item1"=>"1",
"item2"=>"3",
"item3"=>"5",
"item4"=>"2",
"item5"=>"4"
);
Run Code Online (Sandbox Code Playgroud)
匹配此数组的排列:
sortingArr = array("5","4","3","2","1");
Run Code Online (Sandbox Code Playgroud)
和我正在寻找的输出:
$data = array(
"item3"=>"5",
"item5"=>"4",
"item2"=>"3",
"item4"=>"2",
"item1"=>"1"
);
Run Code Online (Sandbox Code Playgroud)
知道如何做到这一点?谢谢.
我有一个数组作为表:
$sortLikeThis = [
'5',
'3',
'7'
'1',
];
$unsorted = [
[
'sort' => '7',
'name' => 'Test',
],
[
'sort' => '1',
'name' => 'Test 2',
],
[
'sort' => '3',
'name' => 'Test 3',
],
[
'sort' => '5',
'name' => 'Test 4',
],
[
'sort' => '7',
'name' => 'Test 4',
],
]
Run Code Online (Sandbox Code Playgroud)
我想通过排序键获得分拣数组($ unsorted),如$ sortLikeThis.
例如:
$output = [
[
'sort' => '5',
'name' => 'Test 4',
],
[
'sort' => '3',
'name' => 'Test …Run Code Online (Sandbox Code Playgroud) 我有一个包含北,东,南或西值的数组.
例如,我得到了一个数组,其数值按此顺序排列:南,西和北.
现在我想对北,东,南,西排列数组.
因此,在我的示例中,值应按此顺序排列:北,南,西.
我怎样才能做到这一点?
谢谢!
我有一个逗号分隔的字符串/数组:
$input = "facebook,steam,tumblr,email,instagram,twitter,twitch,youtube,pinterest,amazon,disqus";
$input = explode(",", $input);
Run Code Online (Sandbox Code Playgroud)
我想基于另一个数组进行排序:
$order = "email,facebook,instagram,twitter,twitch,youtube,steam,pinterest,tumblr,amazon,disqus";
$order = explode(",", $order);
Run Code Online (Sandbox Code Playgroud)
$input将始终包含in的值,$order我希望根据它的出现顺序对其进行排序$order。这有点棘手,因为$input它将只包含来自的值的子集$order。
例如,输入twitter,twitch,email,facebook将会返回email,facebook,twitter,twitch
我已经找到了此解决方案,但是它不适用,因为我没有处理数组中的键。
我遇到了主要的usort()问题!:(因此,基本上我想按它们的值对数组进行排序。我希望这些值以以下顺序显示:白金,黄金,白银,青铜,完整,无,不完整。现在我可以很好地对其进行排序,但是我想保留其密钥(可能吗?),这是我的代码:
function compareMedals( $a, $b ) {
$aMap = array(1 => 'Platinum', 2 => 'Gold', 3 => 'Silver', 4 => 'Bronze', 5 => 'Complete', 6 => 'None', 7 => 'Uncomplete');
$aValues = array( 1, 2, 3, 4, 5, 6, 7);
$a = str_ireplace($aMap, $aValues, $a);
$b = str_ireplace($aMap, $aValues, $b);
return $a - $b;
}
usort($list, 'compareMedals');
Run Code Online (Sandbox Code Playgroud)
那么可以在保留密钥的同时对它们进行排序吗?谢谢!:)
编辑
数组:
$array = array("post1" => 'Platinum', "Post2" => "Bronze, "Post3" = > Gold)
Run Code Online (Sandbox Code Playgroud)
应该输出:
"Post1" => 'Platinum',
"Post3" => 'Gold',
"Post2" …Run Code Online (Sandbox Code Playgroud)