note 125765 added to language.types.array
| From: | ivail89.mail.ru via php-notes | Date: | Wed, 03 Feb 2021 08:12:13 +0000 |
| Subject: | note 125765 added to language.types.array | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-219236@lists.php.net to get a copy of this message | ||
Function unset can delete array's element by reference only when you specify source array. See
example:
<?php
$array = [1, 2, 3, 4, 5];
foreach ($array as $k => &$v){
if ($k >= 3){
unset($v);
}
}
echo count($array); // 5
?>
In this case unset delete only reference, however original array didn't change.
Or different example:
<?php
$arr = [1, 2];
$a = &$arr[0];
unset($a);
count($arr); // 2
?>
So for deleting element from first example need use key and array.
<?php
// ...
unset($array[$k]);
// ...
?>
----
Server IP: 45.112.84.4
Probable Submitter: 45.91.159.166 (proxied: 78.107.84.40)
----
Manual Page -- http://php.net/manual/en/language.types.array.php
Edit -- https://master.php.net/note/edit/125765
Del: integrated -- https://master.php.net/note/delete/125765/integrated
Del: useless -- https://master.php.net/note/delete/125765/useless
Del: bad code -- https://master.php.net/note/delete/125765/bad+code
Del: spam -- https://master.php.net/note/delete/125765/spam
Del: non-english -- https://master.php.net/note/delete/125765/non-english
Del: in docs -- https://master.php.net/note/delete/125765/in+docs
Del: other reasons-- https://master.php.net/note/delete/125765
Reject -- https://master.php.net/note/reject/125765
Search -- https://master.php.net/manage/user-notes.php