Skip to main content
deleted 4 characters in body
Source Link
ubik
  • 145
  • 10

I have a long multidimensional array with timestamps as keys which contain arrays of values. Something like this but with more timestamps:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502611200]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(200)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(150)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

How can I remove every every second sub array of the array without losing the keys as timestamp? So I end up with this:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

If I use a for loop and unset every second key I lose all the keys and end up with 0, 1, 2 etc. instead of the timestamp.

I have a long multidimensional array with timestamps as keys which contain arrays of values. Something like this but with more timestamps:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502611200]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(200)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(150)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

How can I remove every every second sub array of the array without losing the keys as timestamp? So I end up with this:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

If I use a for loop and unset every second key I lose all the keys and end up with 0, 1, 2 etc. instead of the timestamp.

I have a long multidimensional array with timestamps as keys which contain arrays of values. Something like this but with more timestamps:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502611200]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(200)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(150)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

How can I remove every every second array of the array without losing the keys as timestamp? So I end up with this:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

If I use a for loop and unset every second key I lose all the keys and end up with 0, 1, 2 etc. instead of the timestamp.

Source Link
ubik
  • 145
  • 10

Remove/unset every other key in multidimensional array but preserve keys

I have a long multidimensional array with timestamps as keys which contain arrays of values. Something like this but with more timestamps:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502611200]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(200)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(150)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

How can I remove every every second sub array of the array without losing the keys as timestamp? So I end up with this:

array(3) {
  [1502609400]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(100)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(50)
    }
  }
  [1502613000]=>
  array(2) {
    ["Item1"]=>
    array(1) {
      ["PRICE"]=>
      float(500)
    }
    ["Item2"]=>
    array(1) {
      ["PRICE"]=>
      float(250)
    }
  }

If I use a for loop and unset every second key I lose all the keys and end up with 0, 1, 2 etc. instead of the timestamp.