Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP移位数组元素_Php_Arrays - Fatal编程技术网

PHP移位数组元素

PHP移位数组元素,php,arrays,Php,Arrays,我有一个数组$myArray Array ( [0] => Apple [1] => Orange [2] => Grape [3] => Plum ) 这个数组正在被动态拉取,但我需要数组内容按一定顺序排列。例如,葡萄永远是第一位,李子永远是第二位,苹果永远是第三位,橙色永远是最后一位 Array ( [0] => Grape [1] => Plum [2] => Apple [3] => Orange ) 比如说,当这是动态制作的,并且没有

我有一个数组$myArray

Array ( [0] => Apple [1] => Orange [2] => Grape [3] => Plum )
这个数组正在被动态拉取,但我需要数组内容按一定顺序排列。例如,葡萄永远是第一位,李子永远是第二位,苹果永远是第三位,橙色永远是最后一位

Array ( [0] => Grape [1] => Plum [2] => Apple [3] => Orange )
比如说,当这是动态制作的,并且没有“葡萄”的时候,李子需要先变成苹果、橘子。前

Array ( [0] => Plum [1] => Apple [2] => Orange )

我不知道如何在php中实现这一点

您只是在寻找这个吗

否则,如果要设置特定的索引,请按如下方式执行:

$myArray = [];
$myArray[2] = new Plum();

这将设置数组的索引2(第三个元素)。

假设数组是

$array = array();
您在数组中输入的值是$fruits和$fruits changes。照办

array_push($array,$fruit)
如果$furits作为

$fruits = "Grape";
$fruits = "Plum";
$fruits = "Apple";
$fruits = "Orange";
如果你用一个循环来推动

你得到

$array[0] = "Grape";
$array[1] = "Plum";
$array[2] = "Apple";
$array[3] = "Orange";
但是,如果您使用array_将$fruits作为一个循环

    $fruits = "Plum";
    $fruits = "Apple";
    $fruits = "Orange";
你得到

  $array[0] = "Plum";
    $array[1] = "Apple";
    $array[2] = "Orange";

我想这就是您要做的

如果这是一个自定义排序逻辑,那么除了用自定义代码实现它之外别无选择。否则,请更好地解释你想要实现什么,也许用一个更现实的例子。如果你想要这样一个特定的顺序,你必须知道会有什么价值。JU使用值的顺序创建一个数组,循环您的结果数组并与顺序数组进行比较。可能的重复,特别是手动静态排序order@Calimero我希望我的数组始终按照上面指定的顺序。如果没有一个元素,它将保持相同的顺序减去缺少的元素element@jumpman8947如果这是唯一可以解释它的方法,那么继续并将其转换为php代码。随地。这将是丑陋的,但它会做的工作。
$array = array('Apple', 'Orange','Grape','Plum' );
 // order of array
$order = array('Grape', 'Plum', 'Apple','Orange');
 // testing no 'Grapes'
$array2_missing = array('Apple', 'Orange','','Plum' ); 


$result = array_intersect($order, $array);
print_r($result);

Output: Array ( [0] => Grape [1] => Plum [2] => Apple [3] => Orange )
Output2 : Array ( [1] => Plum [2] => Apple [3] => Orange )