Home php教程 php手册 第六章_PHP数组

第六章_PHP数组

Jun 13, 2016 am 10:17 AM
array php association and support array chapter index

  1.PHP支持两种数组:索引数组(indexed array)和关联数组(associative array),前者使用数字作为键,后者使用字符串作为键。

  2.遍历索引数组

    2.1 for循环语句

    2.2 while循环语句

    2.3 do...while循环语句

    2.4 foreach语句

    2.5使用list()

      list()只能用于下标从0开始的索引数组,语法格式如下:

        void list(mixed $var, mixed $...)

<span 1</span> <?<span php
</span><span 2</span>     <span $myarray</span>=<span array</span>('Kimi',5,'Angela'<span );
</span><span 3</span>     
<span 4</span>     <span list</span>(<span $nickname</span>,<span $age</span>,<span $name</span>)=<span $myarray</span><span ;
</span><span 5</span>     <span echo</span> <span $nickname</span>.' '.<span $age</span>.' '.<span $name</span><span ;
</span><span 6</span> ?>
Copy after login

    2.6 使用each()(不明白)

    2.7 混合使用list()和each()遍历数组(不明白)

  3.遍历关联数组

    常常使用foreach语句来遍历

    下面是一个使用foreach语句遍历二维数组的例子:

<span  1</span> <?<span php
</span><span  2</span>     <span $myarray</span>=<span array</span><span (
</span><span  3</span>         'boy'=><span array</span><span (
</span><span  4</span>             'name'=>'Kimi',
<span  5</span>             'age'=>4,
<span  6</span>             'nickname'=>'kimi',
<span  7</span>         ),
<span  8</span>         'girl'=><span array</span><span (
</span><span  9</span>             'name'=>'Cindy',
<span 10</span>             'age'=>5,
<span 11</span>             'nickname'=>'wind'
<span 12</span>         ),   
<span 13</span> <span     );
</span><span 14</span>     <span foreach</span>(<span $myarray</span> <span as</span> <span $gender_key</span> => <span $gender_value</span><span ){
</span><span 15</span>         <span echo</span> <span $gender_key</span>.' => <br>'<span ;
</span><span 16</span>         
<span 17</span>         <span foreach</span>(<span $gender_value</span> <span as</span> <span $key</span> => <span $value</span><span ){
</span><span 18</span>             <span echo</span> '&nbsp&nbsp'.<span $key</span>.' => '.<span $value</span>.'<br>';    <span //</span><span &nbsp似乎是增加一个空格</span>
<span 19</span> <span         }
</span><span 20</span> <span     }
</span><span 21</span> ?>
Copy after login

  4.数组的操作

    4.1 检查数组中是否存在指定的值使用array_search()

<span  1</span> <?<span php
</span><span  2</span>     <span $myarray</span>=<span array</span>('name'=>'Kimi','age'=>5,'hobby'=>'reading',1=>2013<span );
</span><span  3</span>     
<span  4</span>     <span $key</span>=<span array_search</span>('Kimi',<span $myarray</span><span );
</span><span  5</span>     <span echo</span> '<p>'.<span $key</span><span ;
</span><span  6</span>     
<span  7</span>     <span $key</span>=<span array_search</span>(5,<span $myarray</span><span );
</span><span  8</span>     <span echo</span> '<p>'.<span $key</span><span ;
</span><span  9</span>     
<span 10</span>     <span $key</span>=<span array_search</span>('read',<span $myarray</span><span );
</span><span 11</span>     <span var_dump</span>(<span $key</span><span );
</span><span 12</span>     
<span 13</span>     <span $key</span>=<span array_search</span>(2013,<span $myarray</span><span );
</span><span 14</span>     <span echo</span> '<p>'.<span $key</span><span ;
</span><span 15</span> ?>
Copy after login

    4.2 把一个或多个数组合并为一个数组使用array_merge()

   函数返回合并后的数组,如果待合并的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。如果待合并的数组中包含相同的数组键名,后面的值将不会覆盖原来的值,而是附加到该元素后面。

<span 1</span> <?<span php
</span><span 2</span>     <span $girl</span>=<span array</span>('name'=>'Cindy','age'=>5<span );
</span><span 3</span>     <span $boy</span>=<span array</span>('name'=>'Kimi','age'=>4<span );
</span><span 4</span>     <span $girl_date</span>=<span array</span>(0=>2000<span );
</span><span 5</span>     <span $boy_date</span>=<span array</span>(0=>2001<span );
</span><span 6</span>     
<span 7</span>     <span $myarray</span>=<span array_merge</span>(<span $girl</span>,<span $boy</span>,<span $girl_date</span>,<span $boy_date</span><span );
</span><span 8</span>     <span var_dump</span>(<span $myarray</span><span );
</span><span 9</span> ?>
Copy after login

    4.3 把一个数组分割为多个数组使用array_chunk()

    语法格式如下:

    array array_chunk(arrray $input, int $size [, bool $preserve_keys])

    其中,$input是分割的数组变量,$size是分割成的每个数组的元素个数(最后一个数组的元素可以小于$size),可选参数$preserve_keys默认为false,表示分割后的数组索引将从0开始重新编排。若设置为true,则分割后的数组将保留原数组中的键名。一维数组分割一次变成二维数组。

    4.4 统计数组中所有值出现的次数使用array_count_values()

    语法格式如下:

    array array_count_values( array $input)

    其中,$input是待统计的数组。该函数返回一个关联数组,其键名为$input数组中的元素的值,键值为该元素的值在$input数组中出现的次数

<span 1</span> <?<span php
</span><span 2</span>     <span $boy</span>=<span array</span>('Kimi',5,'age'=>5,'name'=>'Kimi',2005<span );
</span><span 3</span>     <span $counts</span>=<span array_count_values</span>(<span $boy</span><span );
</span><span 4</span>     <span print_r</span>(<span $counts</span><span );
</span><span 5</span>     <span var_dump</span>(<span $counts</span><span );
</span><span 6</span> ?>
Copy after login

    4.5 计算数组中所有值的和使用array_sum()

    语法格式如下:

    number array_sum(array $array)

    4.6 删除数组中重复的值使用array_unique()

    语法格式如下:

    array array_unique(array $array)

    其中,$array是待操作的数组。该函数首先将键值作为字符串进行排序,保留第一次遇到的值所对应的键名,最后返回一个没有重复值得新数组。

    4.7 计算数组中的元素数目使用count()

    语法格式如下:

    int count( array $array [, int $mode])

    其中,$array是待计算的数组,可选参数$mode默认值为0,表示不进行递归统计元素个数,可以设置为1(或COUNT_RECURSIVE),表示递归统计元素的数目。

<span  1</span> <?<span php
</span><span  2</span>     <span $myarray</span>=<span array</span><span (
</span><span  3</span>         'boy'=><span array</span>('name'=>'Kimi',
<span  4</span>                      'nickname'=>'K',
<span  5</span>                      'age'=>5),
<span  6</span>         'girl'=><span array</span>('name'=>'Cindy',
<span  7</span>                       'nickname'=>'C',
<span  8</span>                       'age'=>4),
<span  9</span> <span         );
</span><span 10</span>     
<span 11</span>     <span echo</span> '<P>不递归统计元素个数:'.<span count</span>(<span $myarray</span><span );
</span><span 12</span>     <span echo</span> '<p>递归统计元素个数:'.<span count</span>(<span $myarray</span>,<span COUNT_RECURSIVE);
</span><span 13</span> ?>        
Copy after login

    4.8 对数组正向排序使用sort()

    语法格式如下:

    bool sort( array &$array [, int $sort_flags])

    其中,参数$array是待排序的数组,可选参数$sort_flags可以为下面4种设置之一。

    ·SORT_REGULAR:通过正常比较进行排序(不改变类型)

    ·SORT_NUMBER:将数组元素作为数字来比较进行排序

    ·SORT_STRING:将数组元素作为字符串来比较并进行排序

    ·SORT_LOCATE_STRING:根据当前的区域(locate)设置把数组元素作为字符串比较并进行排序

    4.9 对数组逆向排序使用rsort()

    类比正向排序。

    4.10 将数组中的元素顺序翻转使用array_reverse()

    语法格式如下:

    array array_reverse( array $array [, bool $preserve_keys])

    其中,$array是待翻转的数组,可选参数$preserve_keys默认为FALSE,表示不保留原有的键名,设置为TRUE后,表示翻转数组元素时保留原有的键名。(关于可选参数,存在疑惑,见下面程序)

<span 1</span> <?<span php      
</span><span 2</span>     <span $myarray</span>=<span array</span>('gdp'=>'GDP','ht'=>'HT','lq'=>'LQ','lc'=>'LC'<span );
</span><span 3</span>     <span $new_array</span>=<span array_reverse</span>(<span $myarray</span>,<span FALSE</span><span );//无论是FALSE还是TRUE,键名依旧未改变
</span><span 4</span>     <span echo</span> '<p>'<span ;
</span><span 5</span>     <span print_r</span>(<span $new_array</span><span );
</span><span 6</span> ?>
Copy after login

    4.11 用给定的值填充数组使用array_pad()

    语法格式如下:

    array array_pad( array $input, int $pad_size, mixed $pad_value)

    其中,参数$input是待填充的数组,参数$pad_size是填充后数组的大小,参数$pad_value是用来填充的元素。如果$pad_size为正,填充的元素将位于$input右侧,反之亦然。

    4.12 计算多个数组的交集使用array_intersect()

    语法格式如下:

    array array_intersect( array $array1 [, array $array2 [, array $...] ] )

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles