有没有一种简单的方法可以使用PHP从数组中删除元素,这样foreach ($array)
就不再包含该元素了?
我认为设置它null
会这样做,但显然它不起作用.
当我试图从字典中删除一个键时,我写道:
if 'key' in myDict:
del myDict['key']
Run Code Online (Sandbox Code Playgroud)
有这样一种方式吗?
在安装gnuplot之前,我设置了环境变量GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src
.在安装过程中出现了问题.
我想删除GNUPLOT_DRIVER_DIR
环境变量.我怎样才能实现它?
我遍历一个对象数组,并希望根据它的'id'属性删除其中一个对象,但我的代码不起作用.
foreach($array as $element) {
foreach($element as $key => $value) {
if($key == 'id' && $value == 'searched_value'){
//delete this particular object from the $array
unset($element);//this doesn't work
unset($array,$element);//neither does this
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议.谢谢.
如何在Bash中取消设置readonly变量?
$ readonly PI=3.14
$ unset PI
bash: PI: readonly variable
Run Code Online (Sandbox Code Playgroud)
还是不可能?
我有一个foreach循环设置通过我的数组,检查某个链接,如果它发现它从数组中删除该链接.
我的代码:
foreach($images as $image)
{
if($image == 'http://i27.tinypic.com/29yk345.gif' ||
$image == 'http://img3.abload.de/img/10nx2340fhco.gif' ||
$image == 'http://i42.tinypic.com/9pp2456x.gif')
{
unset($images[$image]);
}
}
Run Code Online (Sandbox Code Playgroud)
但它并没有删除数组.它可能与某些事情有关$images[$image]
,因为这不是数组输入的关键,只有内容?有没有办法在不加入计数器的情况下做到这一点?
谢谢.
编辑:谢谢大家,但现在我有另一个问题,其中数组条目实际上没有被删除.
我的新代码:
foreach($images[1] as $key => $image)
{
if($image == 'http://i27.tinypic.com/29yk345.gif')
$image == 'http://img3.abload.de/img/10nx2340fhco.gif' ||
$image == 'http://i42.tinypic.com/9pp2456x.gif')
{
unset($images[$key]);
}
}
Run Code Online (Sandbox Code Playgroud)
$ images现在是一个二维数组,因此我需要$ images [1].我已经检查过并且它成功地绕过了数组元素,并且一些元素实际上有一些我希望删除的URL,但它们并没有被删除.这是我的$images
阵列:
Array
(
[0] => Array
(
[0] => useless
[1] => useless
[2] => useless
[3] => useless
[4] => useless
)
[1] => Array
( …
Run Code Online (Sandbox Code Playgroud) 可能重复:
您可以在PHP中一次取消设置()许多变量吗?
我有3个变量var1
var2
var3
.是否有一种方法可以在不重复使用unset()
功能的情况下解除它们的设置?
我已经尝试在php手册和互联网上搜索如何删除cookie,我尝试过的方式完全相同:
setcookie("name", '', 1);
Run Code Online (Sandbox Code Playgroud)
要么
setcookie("name", '', time()-3600);
Run Code Online (Sandbox Code Playgroud)
但是当我在Firefox中检查cookie对话框中的cookie时,它仍然具有相同的值.我使用以下行设置此cookie:
setcookie("name", $value, time() + 259200, $path);
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow上发现了这个问题:但是没有一个答案解决了这个问题.我也试过把所有的参数都放进去,就像作者说的那样,但它没有效果.
有谁看到这个问题?
我正在使用PHP循环,我有一个关于unset如何影响数组键的问题.该数组使用PHP分配的标准数字键0, 1, 2, 3 etc...
.每当unset()
在数组值上运行时,数组键是否被洗牌或是否像以前一样进行维护?
感谢您的时间.
我在foreach循环中通过引用访问数组,但unset()函数似乎不起作用:
foreach ( $this->result['list'] as &$row ) {
if ($this_row_is_boring) {
unset($row);
}
}
print_r($this->result['list']); // Includes rows I thought I unset
Run Code Online (Sandbox Code Playgroud)
想法?谢谢!