Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

青灯夜游
青灯夜游asal
2022-09-29 20:04:253139semak imbas

Ya. 3 kaedah pelaksanaan: 1. Gunakan array_shift() untuk memadam elemen pertama dan kembali, sintaksnya ialah "array_shift(array)" 2. Gunakan array_pop() untuk memadam elemen terakhir dan kembali, sintaksnya ialah "array_pop(array); "; 3. Gunakan array_splice() untuk memadam bilangan elemen yang ditentukan bermula dari kedudukan yang ditentukan dan mengembalikan elemen yang dialih keluar dalam bentuk tatasusunan. Sintaksnya ialah "array_splice(array, kedudukan permulaan, bilangan elemen yang dipadam)".

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

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

Dalam tatasusunan PHP, anda boleh mendapatkan nilai yang ditentukan, dan padamkannya daripada tatasusunan asal.

Kaedah 1: Gunakan fungsi array_shift()

fungsi array_shift() digunakan untuk memadam item pertama dalam elemen tatasusunan dan mengembalikan elemen yang dipadam. (array_shift() akan menukar tatasusunan asal.)

array_shift(array)

Contoh:

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

$r=array_shift($arr);
echo "第一个元素 $r <br><br>";

echo "获取元素后的:" ;
var_dump($arr);
?>

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

Anda boleh lihat contoh ini, Di sana ialah 5 elemen dalam tatasusunan $arr asal kami Selepas menggunakan kaedah array_shift($arr), kami menggunakan semula tatasusunan keluaran var_dump($arr) dan mendapati bahawa terdapat hanya 4 elemen dan elemen kepala tatasusunan telah dipadamkan.

array_shift()Selepas fungsi memadamkan elemen pertama pada permulaan tatasusunan $arr, panjang tatasusunan arr akan dikurangkan sebanyak 1 dan semua elemen lain akan dialihkan ke hadapan sebanyak satu. Jika kunci adalah angka, semua elemen akan mendapat kunci baharu, bermula pada 0 dan meningkat sebanyak 1 tetapi kunci rentetan akan kekal tidak berubah.

Kaedah 2: Gunakan fungsi array_pop()

fungsi array_pop() memadamkan elemen terakhir dalam tatasusunan dan mengembalikan fungsi The elemen yang dipadam. (array_pop() akan menukar tatasusunan asal.)

array_pop(array)

Nota: Jika tatasusunan kosong atau bukan tatasusunan, NULL akan dikembalikan.

Contoh:

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

$r=array_pop($arr);
echo "最后一个元素 $r <br><br>";

echo "获取元素后的:" ;
var_dump($arr);
?>

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

Kaedah 3: Gunakan fungsi array_splice()

array_splice() ialah fungsi yang berkuasa dengan pelbagai fungsi: ia boleh memasukkan elemen tatasusunan, menggantikan elemen tatasusunan, dan sudah tentu, ia juga boleh memadamkan elemen tatasusunan (lagipun, tugas fungsi array_splice() ialah memadamkan yang ditentukan elemen dan menggantikannya dengan nilai lain). Mari kita lihat fungsi pemadamannya.

Alih keluar sintaks:

array_splice(array,start,length)
tr>
Parameter Perihalan
array Diperlukan. Menentukan tatasusunan.
mulakan Diperlukan. nilai berangka. Menentukan kedudukan permulaan elemen yang dipadam.
参数 描述
array 必需。规定数组。
start 必需。数值。规定删除元素的开始位置。
length 可选。数值。规定被移除的元素个数,也是被返回数组的长度。   
panjang Pilihan. nilai berangka. Menentukan bilangan elemen yang akan dialih keluar, yang juga merupakan panjang tatasusunan yang dikembalikan.

array_splice()函数会改变原数组,并以数组形式返回被移除元素。

我们来看下面一个小例子。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

$r=array_splice($arr,2);
echo "删除的元素 ";
var_dump($r);

echo "删除后的数组:" ;
var_dump($arr);
?>

输出结果为:

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

可以看出,我们使用array_splice($arr,2)从$arr数组的第3个元素开始删除元素,共删除了3个元素(将从第3个元素开始的所有元素删除了)。array_splice($arr,$start)会删除从$start位置开始的所有元素删除,并以数组的形式返回被删除的元素。

$start参数有三种取值情况:

  • 为正数,那么从$start位置开始,往后删除;

  • 为0,那么从第一个元素开始,往后删除;

  • 为负数,则从距离 $arr 末端 -start 的位置开始,从后往前删除。例如 -2 意味着从数组的倒数第二个元素开始。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

$r=array_splice($arr,-2);
echo "删除的元素 ";
var_dump($r);

echo "删除后的数组:" ;
var_dump($arr);
?>

输出结果为:

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

array_splice()函数是强大的,可以删除多个元素,也可只删除一个元素,那就需要给该函数指定一个$length参数(第三个参数),该参数用来规定删除的元素个数

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

$r=array_splice($arr,2,1);
echo "删除的元素 ";
var_dump($r);

echo "删除后的数组:" ;
var_dump($arr);
?>

输出结果为:

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

可以看出只删除了第三个元素“20”。

在删除元素操作中,$length参数也有三种取值情况:

  • 为正数,那么就表示删除 length 个元素;

  • 为负数,那么将删除从 start 开始,到数组末尾倒数 length 为止的所有元素;

  • 如果省略,那么将删除从 start 开始,一直到数组末尾的所有元素。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

$r=array_splice($arr,2,-1);
echo "删除的元素 ";
var_dump($r);

echo "删除后的数组:" ;
var_dump($arr);
?>

输出结果为:

Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?

注:$length参数还可以为0,那么就表示不删除元素,可以和该函数的第四个参数$value相配合,进行插入操作(这里就不做具体介绍了)。

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Adakah mungkin untuk mengambil nilai tatasusunan dan mengeluarkannya dalam php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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