我不能无法绕过这个。我缺少的是逻辑位。
我有这个$ myArray:
array(3) {
[0]=>
array(2) {
["lang"]=>
string(4) "en"
["url"]=>
string(42) "http://feeds.feedburner.com/wordpress/haJM"
}
[1]=>
array(2) {
["lang"]=>
string(4) "en"
["url"]=>
string(37) "http://feeds.feedburner.com/hackaday/LgoM"
}
[2]=>
array(2) {
["lang"]=>
string(4) "klingon"
["url"]=>
string(36) "http://www.maitre-eolas.fr/feed/atom"
}
}
所以一个未知大小的数组,每个元素都是已知大小的数组,(2个键/值对(lang = something& url = something)整点都不知道lang是什么。它真的可以任何(字母数字)值。
我想要做的是构建一个新的,干净的数组,其中键按名称排序,如下所示:
array(2) {
[0]=>
array(2) {
["lang"]=>
string(2) "en"
["urls"]=>
array(2) {
string(42) "http://feeds.feedburner.com/wordpress/haJM"
string(37) "http://feeds.feedburner.com/hackaday/LgoM"
}
}
[1]=>
array(2) {
["lang"]=>
string(6) "klingon"
["urls"]=>
array(1) {
string(36) "http://www.maitre-eolas.fr/feed/atom"
}
}
}
但是当我尝试将第一个$ myArray [0] ['lang']放在变量中并将其与以下内容进行比较时,它......工作。一旦。然后停下来。
我做错了,我知道它。
答案 0 :(得分:3)
试试这个:
$aResult = array();
foreach($aInput as $aRow){
$aResult[$aRow['lang']][] = $aRow['url'];
}
那会给你:
array:
'Klingon'
'URL1'
'URL2'
'en'
'URL1'
'URL2'
您真的需要上面列出的格式吗?或者这也会这样做吗?