|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2018-03-19 10:41 UTC] hgalt at gmx dot net
Description: ------------ When I use unset to dele a specific array inside an array, it deletes the specific array and all array on the same level behind this specific array. My structure: *0: 0: id -> 0 1: name -> Teig 2: doing -> *3: 0: q -> 100 1: u -> g 2: p -> wheat_flour *4: 1: q -> 100 1: u -> g 2: p -> sugar *5: 2: q -> 100 1: u -> g 2: p -> milk 1: count -> 1 2: uidR -> 2 The star infront of the key says that it is an array. If I execute unset($array[0][1]); the array *4 will be deleted but also the next one (*5). If after *5 additional arrays would be follow, these would be also deleted. I know, that in the past this was working, but I am sorry, I don't know when. Test script: --------------- <?php $array [0]= ['id' => 0, 'name' => 'Teig', 'doing' => 'Test']; $array[0][0] = ['q' => '100', 'u' => 'g', 'p' => 'wheat_flour']; $array[0][1] = ['q' => '100', 'u' => 'g', 'p' => 'sugar']; $array[0][2] = ['q' => '100', 'u' => 'g', 'p' => 'milk']; $array[] = ['count' => '1', 'uidR' => '2']; unset($array[0][1]); Expected result: ---------------- *0: 0: id -> 0 1: name -> Teig 2: doing -> *3: 0: q -> 100 1: u -> g 2: p -> wheat_flour *5: 2: q -> 100 1: u -> g 2: p -> milk 1: count -> 1 2: uidR -> 2 Actual result: -------------- *0: 0: id -> 0 1: name -> Teig 2: doing -> *3: 0: q -> 100 1: u -> g 2: p -> wheat_flour 1: count -> 1 2: uidR -> 2 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 22:00:02 2025 UTC |
these "structures" are a total mess why don't you just use print_r() so that it becomes readable? php > print_r($x); Array ( [1] => Array ( [1] => x [2] => y [3] => Array ( [0] => a [1] => b ) ) [2] => Array ( [0] => x ) )