목차
数组的键/值操作函数,数组函数
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组
php数组使用shuffle函数打乱后不同键出现重复值
백엔드 개발 PHP 튜토리얼 数组的键/值操作函数,数组函数_PHP教程

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

Jul 13, 2016 am 10:21 AM
요소 기능 존재하다 작동하다 정렬 ~의 구성 입장 통과하다 열쇠

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

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中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值。关联数组指的是键名...

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 어레이 딥 카피(Array Deep Copy) 기술: 다양한 방법을 사용하여 완벽한 카피 달성 PHP 어레이 딥 카피(Array Deep Copy) 기술: 다양한 방법을 사용하여 완벽한 카피 달성 May 01, 2024 pm 12:30 PM

PHP에서 배열을 깊게 복사하는 방법에는 json_decode 및 json_encode를 사용한 JSON 인코딩 및 디코딩이 포함됩니다. array_map 및 clone을 사용하여 키와 값의 전체 복사본을 만듭니다. 직렬화 및 역직렬화를 위해 직렬화 및 역직렬화를 사용합니다.

PHP 배열 키 값 뒤집기: 다양한 방법의 성능 비교 분석 PHP 배열 키 값 뒤집기: 다양한 방법의 성능 비교 분석 May 03, 2024 pm 09:03 PM

PHP 배열 키 값 뒤집기 방법의 성능 비교는 array_flip() 함수가 대규모 배열(100만 개 이상의 요소)에서 for 루프보다 더 나은 성능을 발휘하고 시간이 덜 걸리는 것을 보여줍니다. 키 값을 수동으로 뒤집는 for 루프 방식은 상대적으로 시간이 오래 걸립니다.

Excel 함수 수식의 전체 모음 Excel 함수 수식의 전체 모음 May 07, 2024 pm 12:04 PM

1. SUM 함수는 열이나 셀 그룹의 숫자를 합하는 데 사용됩니다(예: =SUM(A1:J10)). 2. AVERAGE 함수는 열이나 셀 그룹에 있는 숫자의 평균을 계산하는 데 사용됩니다(예: =AVERAGE(A1:A10)). 3. COUNT 함수, 열이나 셀 그룹의 숫자나 텍스트 수를 세는 데 사용됩니다. 예: =COUNT(A1:A10) 4. IF 함수, 지정된 조건을 기반으로 논리적 판단을 내리고 결과를 반환하는 데 사용됩니다. 해당 결과.

PHP 배열 다차원 정렬 연습: 간단한 시나리오부터 복잡한 시나리오까지 PHP 배열 다차원 정렬 연습: 간단한 시나리오부터 복잡한 시나리오까지 Apr 29, 2024 pm 09:12 PM

다차원 배열 정렬은 단일 열 정렬과 중첩 정렬로 나눌 수 있습니다. 단일 열 정렬은 array_multisort() 함수를 사용하여 열별로 정렬할 수 있습니다. 중첩 정렬에는 배열을 순회하고 정렬하는 재귀 함수가 필요합니다. 실제 사례로는 제품명별 정렬, 판매량 및 가격별 복합 정렬 등이 있습니다.

PHP 배열 심층 복사 모범 사례: 효율적인 방법 발견 PHP 배열 심층 복사 모범 사례: 효율적인 방법 발견 Apr 30, 2024 pm 03:42 PM

PHP에서 배열 전체 복사를 수행하는 가장 좋은 방법은 json_decode(json_encode($arr))를 사용하여 배열을 JSON 문자열로 변환한 다음 다시 배열로 변환하는 것입니다. unserialize(serialize($arr))를 사용하여 배열을 문자열로 직렬화한 다음 새 배열로 역직렬화합니다. RecursiveIteratorIterator를 사용하여 다차원 배열을 재귀적으로 순회합니다.

데이터 정렬에 PHP 배열 그룹화 기능 적용 데이터 정렬에 PHP 배열 그룹화 기능 적용 May 04, 2024 pm 01:03 PM

PHP의 array_group_by 함수는 키 또는 클로저 함수를 기반으로 배열의 요소를 그룹화하여 키가 그룹 이름이고 값이 그룹에 속한 요소의 배열인 연관 배열을 반환할 수 있습니다.

C++ 함수 예외 고급: 사용자 정의된 오류 처리 C++ 함수 예외 고급: 사용자 정의된 오류 처리 May 01, 2024 pm 06:39 PM

C++의 예외 처리는 특정 오류 메시지, 상황별 정보를 제공하고 오류 유형에 따라 사용자 지정 작업을 수행하는 사용자 지정 예외 클래스를 통해 향상될 수 있습니다. 특정 오류 정보를 제공하려면 std::Exception에서 상속된 예외 클래스를 정의하세요. 사용자 정의 예외를 발생시키려면 throw 키워드를 사용하십시오. try-catch 블록에서 Dynamic_cast를 사용하여 발견된 예외를 사용자 지정 예외 유형으로 변환합니다. 실제 경우 open_file 함수는 FileNotFoundException 예외를 발생시킵니다. 예외를 포착하고 처리하면 보다 구체적인 오류 메시지가 제공될 수 있습니다.

Astar 스테이킹 원칙, 수입 해체, 에어드랍 프로젝트 및 전략 및 운영 보모 수준 전략 Astar 스테이킹 원칙, 수입 해체, 에어드랍 프로젝트 및 전략 및 운영 보모 수준 전략 Jun 25, 2024 pm 07:09 PM

목차 Astar Dapp 스테이킹 원리 스테이킹 수익 잠재적 에어드랍 프로젝트 해체: AlgemNeurolancheHealThreeAstar Degens DAOVeryLongSwap 스테이킹 전략 및 운영 "AstarDapp 스테이킹"이 올해 초 V3 버전으로 업그레이드되었으며 스테이킹 수익에 많은 조정이 이루어졌습니다. 규칙. 현재 첫 번째 스테이킹 주기는 종료되었으며 두 번째 스테이킹 주기의 "투표" 하위 주기가 막 시작되었습니다. '추가 보상' 혜택을 받으려면 이 중요한 단계(6월 26일까지 지속 예정, 5일 미만 남았음)를 파악해야 합니다. 아스타 스테이킹 수익을 자세하게 분석해보겠습니다.

See all articles