Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.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,我有一个如下所示的数组,在数组键“period”下有一个数组,其中包含四个数组,可以看到它打开-关闭,打开-关闭,我希望它关闭-打开,关闭-打开,但每对数组(打开和关闭)仍然需要保留它们在父数组格式中的顺序。我真的希望这有意义!我在这方面已经做了很多年了,但我似乎无法让它正确地迭代并保持顺序 任何帮助都会得到衷心的感谢。多谢各位 array(1) { ["opening_hours"]=> array(1) { ["periods"]=> array(12)

我有一个如下所示的数组,在数组键“period”下有一个数组,其中包含四个数组,可以看到它打开-关闭,打开-关闭,我希望它关闭-打开,关闭-打开,但每对数组(打开和关闭)仍然需要保留它们在父数组格式中的顺序。我真的希望这有意义!我在这方面已经做了很多年了,但我似乎无法让它正确地迭代并保持顺序

任何帮助都会得到衷心的感谢。多谢各位

array(1) {
  ["opening_hours"]=>
  array(1) {
    ["periods"]=>
    array(12) {
      [0]=>
      array(1) {
        ["open"]=>
        array(2) {
          ["day"]=>
          string(1) "1"
          ["time"]=>
          string(4) "0730"
        }
      }
      [1]=>
      array(1) {
        ["close"]=>
        array(2) {
          ["day"]=>
          string(1) "1"
          ["time"]=>
          string(4) "1200"
        }
      }
      [2]=>
      array(1) {
        ["open"]=>
        array(2) {
          ["day"]=>
          string(1) "1"
          ["time"]=>
          string(4) "1600"
        }
      }
      [3]=>
      array(1) {
        ["close"]=>
        array(2) {
          ["day"]=>
          string(1) "1"
          ["time"]=>
          string(4) "2345"
        }
      }
      [4]=>
      array(1) {
        ["open"]=>
        array(2) {
          ["day"]=>
          string(1) "2"
          ["time"]=>
          string(4) "0745"
        }
      }
      [5]=>
      array(1) {
        ["close"]=>
        array(2) {
          ["day"]=>
          string(1) "2"
          ["time"]=>
          string(4) "1200"
        }
      }
      [6]=>
      array(1) {
        ["open"]=>
        array(2) {
          ["day"]=>
          string(1) "2"
          ["time"]=>
          string(4) "1600"
        }
      }
      [7]=>
      array(1) {
        ["close"]=>
        array(2) {
          ["day"]=>
          string(1) "2"
          ["time"]=>
          string(4) "2345"
        }
      }
      [8]=>
      array(1) {
        ["open"]=>
        array(2) {
          ["day"]=>
          string(1) "3"
          ["time"]=>
          string(4) "0800"
        }
      }
      [9]=>
      array(1) {
        ["close"]=>
        array(2) {
          ["day"]=>
          string(1) "3"
          ["time"]=>
          string(4) "1200"
        }
      }
      [10]=>
      array(1) {
        ["open"]=>
        array(2) {
          ["day"]=>
          string(1) "3"
          ["time"]=>
          string(4) "1600"
        }
      }
      [11]=>
      array(1) {
        ["close"]=>
        array(2) {
          ["day"]=>
          string(1) "3"
          ["time"]=>
          string(4) "2345"
        }
      }
    }
  }
}

我想相信你的阵型是这样的

$array = array(
        "opening_hours" => array(
                "periods" => array(
                        0 => array("open" => array("day" => "1","time" => "0730")),
                        1 => array("close" => array("day" => "1","time" => "1200")),
                        2 => array("open" => array("day" => "1","time" => "1600")),
                        3 => array("close" => array("day" => "1","time" => "2345")),
                        4 => array("open" => array("day" => "2","time" => "0745")),
                        5 => array("close" => array("day" => "2","time" => "1200")),
                        6 => array("open" => array("day" => "2","time" => "1600")),
                        7 => array("close" => array("day" => "2","time" => "2345")),
                        8 => array("open" => array("day" => "3","time" => "0800")),
                        9 => array("close" => array("day" => "3","time" => "1200")),
                        10 => array("open" => array("day" => "3","time" => "1600")),
                        11 => array("close" => array("day" => "3","time" => "2345")))));
交换位置

$final = array();
$total = count($array['opening_hours']['periods']);

for($i = 0; $i < $total; $i += 2) {

    if (isset($array['opening_hours']['periods'][$i + 1])) {
        $final[] = $array['opening_hours']['periods'][$i + 1];
    }

    $final[] = $array['opening_hours']['periods'][$i];
}

var_dump($final);

这样做有什么问题?不管怎么说,它们不是命令。你是认真的吗?如果一件事一件接一件地发生,它们是以某种形式排列的,不是吗?至于以这种方式订购有什么问题,好吧,这只是为了我的目的!谢谢你的意见…我还是不清楚。无论如何。:)谢谢爸爸,那对我来说太棒了,我要试试看!干杯嘿,爸爸,有一件事,你的代码拿走了我的父数组[opening_hours]和[periods]。我怎样才能拥有它,使它仍然具有与它开始时相同的数据结构?哦,对不起,忽略这一点,我太密集了@没关系,我们都有自己的时刻:)
array
  0 => 
    array
      'close' => 
        array
          'day' => string '1' (length=1)
          'time' => string '1200' (length=4)
  1 => 
    array
      'open' => 
        array
          'day' => string '1' (length=1)
          'time' => string '0730' (length=4)
  2 => 
    array
      'close' => 
        array
          'day' => string '1' (length=1)
          'time' => string '2345' (length=4)
  3 => 
    array
      'open' => 
        array
          'day' => string '1' (length=1)
          'time' => string '1600' (length=4)
  4 => 
    array
      'close' => 
        array
          'day' => string '2' (length=1)
          'time' => string '1200' (length=4)
  5 => 
    array
      'open' => 
        array
          'day' => string '2' (length=1)
          'time' => string '0745' (length=4)
  6 => 
    array
      'close' => 
        array
          'day' => string '2' (length=1)
          'time' => string '2345' (length=4)
  7 => 
    array
      'open' => 
        array
          'day' => string '2' (length=1)
          'time' => string '1600' (length=4)
  8 => 
    array
      'close' => 
        array
          'day' => string '3' (length=1)
          'time' => string '1200' (length=4)
  9 => 
    array
      'open' => 
        array
          'day' => string '3' (length=1)
          'time' => string '0800' (length=4)
  10 => 
    array
      'close' => 
        array
          'day' => string '3' (length=1)
          'time' => string '2345' (length=4)
  11 => 
    array
      'open' => 
        array
          'day' => string '3' (length=1)
          'time' => string '1600' (length=4)