Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

青灯夜游
Lepaskan: 2023-03-16 19:02:02
asal
1919 orang telah melayarinya

Dua kaedah: 1. Gunakan array_search() dan array_splice() untuk memadam, sintaksnya ialah "array_splice($arr,array_search("string",$arr,true),1);". 2. Gunakan pernyataan foreach dan unset() untuk memadam, sintaks "foreach($arr as $k=>&$v){if($v==="string"){unset($arr[$k ]) ;}}".

Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Kaedah 1 : Gunakan array_search() array_splice()

Langkah 1: Gunakan fungsi array_search() untuk mencari rentetan yang ditentukan dalam tatasusunan dan mengembalikan nama kunci yang sepadan

array_search(value,array,strict)
Salin selepas log masuk
参数描述
value必需。规定在数组中搜索的键值。
array必需。规定被搜索的数组。
strict可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
  • true
  • false - 默认
如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"12",12,25,24);
echo "原数组:";
var_dump($arr); 
$key=array_search("12",$arr,true);
echo "指定字符串&#39;12&#39;的键名为:".$key;

?>
Salin selepas log masuk

Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

Langkah 2: Gunakan fungsi array_splice() untuk memadamkan elemen berdasarkan nama kunci yang diperolehi

array_splice( ) fungsi mengalih keluar elemen yang dipilih daripada tatasusunan (atau menggantikannya dengan elemen baharu).

array_splice(array1,start,length,array2)
Salin selepas log masuk
参数描述
array1必需。规定数组。
start必需。数值。规定删除元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。 -2 意味着从数组的倒数第二个元素开始。
length可选。数值。规定被移除的元素个数,也是被返回数组的长度。 如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
array2可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。

Nota: Fungsi ini akan menukar tatasusunan asal

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"12",12,25,24);
echo "原数组:";
var_dump($arr); 
$key=array_search("12",$arr,true);
echo "指定字符串&#39;12&#39;的键名为:".$key;


array_splice($arr,$key,1);
echo "<br><br>删除指定字符串&#39;12&#39;后:";
var_dump($arr); 
?>
Salin selepas log masuk

Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

Kaedah 2: Gunakan foreach statement unset() function

Langkah 1: Gunakan foreach statement untuk melintasi tatasusunan melalui gelung rujukan

foreach ($array as $key => &$value){
    //循环体语句块;
}
Salin selepas log masuk

untuk melintasi Array $array yang diberikan, dalam setiap gelung, nilai tatasusunan semasa akan diberikan kepada $value, dan nama kunci akan diberikan kepada $key.

Secara amnya, apabila menggunakan pernyataan foreach untuk melintasi tatasusunan, ia beroperasi pada sandaran tatasusunan dan secara amnya tidak menjejaskan tatasusunan itu sendiri.

Jika anda ingin menukar tatasusunan melalui gelung, anda boleh menggunakan gelung rujukan (tambah & sebelum $value, supaya pernyataan foreach akan menetapkan nilai melalui rujukan dan bukannya menyalin nilai), kemudian kendalikan tatasusunan dalam badan gelung, akan mempengaruhi tatasusunan itu sendiri.

Langkah 2: Dalam badan gelung, gunakan operator "===" untuk mencari rentetan yang ditentukan dan gunakan fungsi unset() untuk memadamkan elemen

if($value==="指定字符串"){
	unset($arr[$key]);
}
Salin selepas log masuk

Kod sampel lengkap:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"25",12,25,"24");
echo "原数组:";
var_dump($arr); 
foreach ($arr as $key => &$value){
	if($value==="25"){
		unset($arr[$key]);
	}
}
echo "<br>删除指定字符串&#39;25&#39;后:";
var_dump($arr); 
?>
Salin selepas log masuk

Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

Seperti yang anda lihat, terdapat & sebelum elemen terakhir Itu kerana rujukan $value daripada elemen terakhir tatasusunan Akan kekal selepas gelung foreach. Kita perlu menggunakan unset() untuk memusnahkannya.

unset($value); // 最后取消掉引用
Salin selepas log masuk

Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar rentetan tertentu daripada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan