配列を通過するように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]);
}
}
ただし、アレイ全体は削除されません。それはおそらく$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]);
}
}
$ imagesは実際には2次元配列であるため、$images[1]が必要なのはなぜですか。確認したところ、配列要素を正常に処理しました。一部の要素には、削除したいURLが実際に含まれていますが、削除されません。これは私の$images
配列です:
Array
(
[0] => Array
(
[0] => useless
[1] => useless
[2] => useless
[3] => useless
[4] => useless
)
[1] => Array
(
[0] => http://i27.tinypic.com/29yk345.gif
[1] => http://img3.abload.de/img/10nx2340fhco.gif
[2] => http://img3.abload.de/img/10nx2340fhco.gif
[3] => http://i42.tinypic.com/9pp2456x.gif
)
)
ありがとう!