cari
Rumahpembangunan bahagian belakangtutorial php数组的键/值操作函数,数组函数_PHP教程

数组的键/值操作函数,数组函数_PHP教程

Jul 13, 2016 am 10:21 AM
nilaiunsurfungsiwujudberoperasitatasusunandaripadagubahanaksesluluskunci

数组的键/值操作函数,数组函数

PHP中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值。“关联数组”指的是键名为字符串的数组,“索引”和“键名”指的是同一样东西。“索引”多指数组的数字形式的下标。使用数组的处理函数,可以很方便地对数组中的每个元素的键和值进行操作,进而生成一个新数组。

①函数array_values()

array_values()函数的作用是返回数组中所有元素的值。使用非常容易,只有一个必选参数,规定传入给定的数组,返回一个包含给定数组中所有值得数组。但不保留键名,被返回的数组将使用顺序的数值键重新建立索引,从0开始并且以1递增。适合用于数组中元素下表混乱的数组,或者可以将关联数组转化为索引数组。代码如下所示:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $contact = array( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市", "电话" => "(010)98765432" );   //array_values()函数传入数组$contact 重新索引返回一个新数组   print_r(array_values($contact)); print_r($contact); //原数组$contact内容元素不变 ?>

该程序运行后的结果如下所示:
Array([0]=>1 [1]=>高某 [2]=>A公司 [3]=>北京市 [4]=>(010)98765432)
Array([ID]=>1 [姓名]=>高某 [公司]=>A公司 [地址]=> 北京市 [电话]=>(010)98765432)

②函数array_keys()

array_keys()函数的作用是返回数组中所有的键名。本函数中有一个必须参数和两个可选参数,其函数的原型如下:

array array_keys(array input[,mixed search_value[,bool strict]])
如果指定了可选参数search_value,则只返回指定该值得键名,否则input数组中的所有键名都会被返回。自PHP5起,可以用strict参数来进行全等比较。需要传入一个布尔型的值,FALSE为默认值不依赖类型。如果传入TRUE值则根据类型返回带有指定值得键名。函数array_keys()使用的代码如下所示:

1 2 3 4 5 6 7 8 9 10 11 12 <?php $lamp = array("a"=>"Linux","b"=>"Apache","c"=>"MySQL","d"=>"php"); print_r(array_keys($lamp)); //输出Array([0]=>a [1]=>b [2]=>c) print_r(array_keys($lamp,"Apache")); //使用第二个可选参数输出:Array([0]=>b)   $a = array(10,20,30,"10"); //声明一个数组,其中元素的值有整数10和字符串"10" print_r(array_keys($a,"10",false)); //使用第三个参数(false)输出:Array([0]=>0 [1]=>3)   $a = array(10,20,30,"10"); //声明一个数组,其中元素的值有整数10和字符串"10" print_r(array_keys($a,"10",true)); //使用第三个参数(true)输出:Array([0]=>3)   ?>

③函数in_array()

in_array()函数的作用是检查数组中是否存在某个值,即在数组中搜索给定的值。本函数中有三个参数,前两个参数为必须的,最后一个参数为可选的。其函数的原型如下:

bool in_array(mixed needle,array haystack[,bool strict])

第一个参数needle为规定要在数组中搜索的值,第二个参数haystack是规定要被搜索的数组,如果给定的值needle存在于数组haystack中则返回TRUE。如果第三个参数设置为TRUE,函数只有在元素存在于数组中且数据类型于给定值相同时才返回TRUE。如果没有在数组中找到参数,函数返回FALSE。要注意如果needle参数是字符串,且strict参数设置为TRUE,则搜索区分大小写。函数array_keys()使用的代码如下所示:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <?php     //in_array()函数的简单使用形式     $os = array("Mac","NT","Trix","Linux");       if(in_array("Trix",$os)){           //这个条件成立,字符串Trix在数组$os中         echo "Got Trix";     }       if(in_array("mac",$os)){            //这个条件失败,因为in_array()是区分大小写的         echo "Got mac";     }       //in_array严格类型检查例子     $a = array('1.10',12.4,1.13);       //第三个参数为true,所以字符串'12.4'和浮点数12.4类型不同     if (in_array('12.4',$a,true)){         echo "'12.4' found with strict check\n";     }       if (in_array(1.13,$a,true)){            //这个条件成立,执行下面的语句         echo "1.13 found with strict check\n";     }       //in_array()中还可以用数组当做第一个参数作为查询条件     $a = array(array('p','h'),array('p','r'),'o');       if(in_array(array('p','h'),$a)){            //数组array('p','h')在数组$a中存在         echo "'ph'was found\n";     }       if(in_array(array('h','p'),$a)){            //数组array('h','p')在数组$a中不存在         echo "'hp'was found\n";     } ?>

也可以使用array_search()函数进行检索。该函数与in_array()的参数相同,搜索给定的值,存在则返回相应的键名,也支持对数据类型的严格判断。函数array_search()使用的代码如下所示:

1 2 3 4 5 6 7 <?php     $lamp = array("a"=>"Linux","b"=>"Apache","c"=>"MySQL","d"=>"php");     echo array_search("php",$lamp);         //输出:d(在数组$lamp中,存在字符串"php"则输出下标d)       $a = array("a"=>"8","b"=>8,"c"=>"8");     echo array_search(8,$a,ture);           //输出b(严格按类型检索,整型8对应的下标b) ?>

此外,使用array_key_exists()函数还可以检查给定的键名或索引是否存在于数组中。因为在一个数组中键名必须是唯一的,所以不需要对其数据类型进行判断。也可以使用isset()函数完成对数组中的键名进行检查,单isset()对于数组中为NULL的值不会返回TRUE,而array_key_exists()会。代码如下所示:

1 2 3 4 5 6 7 8 9 10 11 12 <?php     $search_array = array('first'=>1,'second'=>4);            //声明一个关联数组,其中包含两个元素       if(array_key_exists('first',$search_arry)){             //检查下标为first对应的元素是否在数组中         echo "键名为'first'的元素在数组中";     }       $search_array = array('first'=> null,'second'=>4);            //声明一个关联数组,第二个元素的值为NULL       isset($search_array['first']);                  //用isset()检索下标为first的元素返回false     array_key_exists('first',$search_array);                //用array_key_exists()检索下标为first的元素返回true ?>

④函数array_flip()

array_flip()的作用是交换数组中的键和值。返回一个反转后的数组,如果同一个值出现了多次,则最后一个键名将作为它的值,覆盖前面出现的元素。如果原数组中的值数据类型不是字符串或整数,函数将报错。该函数只有一个参数,其函数原型如下:

array array_flip(trans)

参数是必须的,要求输入一个要处理的数组,返回该数组中每个元素的键和值交换后的数组。函数array_flip()使用的代码如下所示:

1 2 3 4 5 6 7 8 9 10 <?php     $lamp = array("os"=>"linux","WebServer"=>"Apache","Database"=>"MySQL","Language"=>"PHP");       //输出:Array([linux]=>os [Apache]=>WebServer [MySQL]=>Database [PHP]=Language);     print_r(array_flip($lamp));             //使用array_flip()函数交换数组中的键和值       //在数组中如果元素的值相同,则使用array_flip()会发生冲突     $trans = array("a"=>1,"b"=>1,"c"=2);     print_r(array_flip($trans));            //现在$trans变成了:Array([1]=> b [2]=> c) ?>

⑤函数array_reverse()

array_reverse()作用是原数组中的元素顺序翻转,创建新的数组并返回。该函数有两个参数,其函数的原型如下:

array array_reverse(array array[,bool preserve_keys])

第一个参数是必选项,接收一个数组作为输入。第二个参数是可选项,如果指定为TRUE,则元素的键名保持不变,否则键名将会丢失。函数array_reverse()使用的代码如下所示:

1 2 3 4 5 6 7 <?php     $lamp = array("OS"=>"Linux","WebServer"=>"Apache","Database"=>"MySQL","Language"=>"PHP");       //使用array_reverse()函数将数组$lamp中的元素的顺序翻转     print_r(array_reverse($lamp));     //输出的结果Array([Language]=>PHP [Database]=>MySQL [WebServer]=>Apache  [OS]=>Linux) ?>
 

>> 本文固定链接: http://php.ncong.com/php_course/arry_function/key-value.html

从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组

#include
int Compactlntegers(int a[], int *m)
{
int i,j,n;//这里我使用C编译器做的,所以修改了一下,
//如果是C++应该可以直接使用引用传值,按你原来写的应该可以修改主程序中n的值
n=*m;
for(i=0;i {
if(a[i]==0)
{
for(j=i;ja[j]=a[j+1];
n--;
}
}
*m=n;
return j;
}
void main()
{
int i,n,a[100];
printf("please input your number:\n");
scanf("%d",&n);
for(i=0;i {
printf("please input the %d number:",i+1);
scanf("%d",&(a[i]));
}
Compactlntegers(a,&n);
for(i=0;i {
printf("the %d number is: %d\n",i+1, a[i]);
}
}
 

php数组使用shuffle函数打乱后不同键出现重复值

代码呢
是不是原本你的数组就是有重复值的
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/860919.htmlTechArticle数组的键/值操作函数,数组函数 PH 在 P中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值。关联数组指的是键名...

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
PHP dan Python: Paradigma yang berbeza dijelaskanPHP dan Python: Paradigma yang berbeza dijelaskanApr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP dan Python: menyelam mendalam ke dalam sejarah merekaPHP dan Python: menyelam mendalam ke dalam sejarah merekaApr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Memilih antara php dan python: panduanMemilih antara php dan python: panduanApr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP dan Rangka Kerja: Memodenkan bahasaPHP dan Rangka Kerja: Memodenkan bahasaApr 18, 2025 am 12:14 AM

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Impak PHP: Pembangunan Web dan seterusnyaImpak PHP: Pembangunan Web dan seterusnyaApr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Apr 17, 2025 am 12:24 AM

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP vs Python: Gunakan Kes dan AplikasiPHP vs Python: Gunakan Kes dan AplikasiApr 17, 2025 am 12:23 AM

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)