数组的键/值操作函数,数组函数_PHP教程
数组的键/值操作函数,数组函数
PH在P中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值。“关联数组”指的是键名为字符串的数组,“索引”和“键名”指的是同一样东西。“索引”多指数组的数字形式的下标。使用数组的处理函数,可以很方便地对数组中的每个元素的键和值进行操作,进而生成一个新数组。
①函数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
#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;j
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 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 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.

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 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.

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

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.

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 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.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

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
Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)