【发布时间】:2017-05-17 22:41:49
【问题描述】:
我有一个名为 $arrActivities 的多维数组。
为了使用php的array_multisort,我创建了四个数组:$arrField0、$arrField1、$arrField2和$arrField3,它们都是在$arrActivities中找到的特定字段的数组。
使用这些数组,这个命令可以完美运行:
array_multisort($arrField0, SORT_STRING, $arrField1, SORT_STRING, $arrField2, SORT_STRING, $arrField3, SORT_STRING, $arrActivities);
不过,我需要动态创建该参数字符串,因为有时可能有五个数组,具体取决于数据集。
我尝试动态创建一个字符串:
$strSort = '$arrField0, SORT_STRING, $arrField1, SORT_STRING, $arrField2, SORT_STRING, $arrField3, SORT_STRING, $arrActivities';
这行得通(即它可以正确排序)但我收到警告:
array_multisort($strSort);
Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag
在我没有收到警告的情况下,使用字符串或数组传递参数的正确方法是什么?
为什么我会收到警告但排序正确?
【问题讨论】:
-
如果您提供一些示例输入来为您的问题添加上下文,我们也许可以帮助您提供一个优雅的解决方案。请向我们展示一些输入和输出数据。
-
我在上面的条目中添加了代码。
-
我没有时间好好看看你的问题更新,但我会尽快回来。请提供一些简单的示例数组数据,以便我可以直观地了解您正在使用的内容以及您所期望的结果。
-
...我的意思是,向我展示带有示例值和排序意图的实际数组构建。我确信有更好的方法来组织您的数据。
-
我发布了解决方案。感谢您的帮助。
标签: php array-multisort