国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php數(shù)組的定義

陣列在之前我們讓大家記住兩個觀點:

????1.陣列可以存入多個不同類型的數(shù)據(jù),是一個複合資料型別。

????2.陣列的英文是array,學了一了最簡單的陣列宣告。

那我們來進行簡單的回顧:

<?php

$shu = array(1 , 1.5 , true ,'天王蓋地虎,小雞燉蘑菇');

echo '<pre>';
var_dump($shu);
echo '</pre>';

?>

在上例中,我們發(fā)現(xiàn)我們存入了:

????1.整數(shù)

#????2 .浮點

????3.布林

????4.字串

註:上例中echo pre這個標籤的主要目的是為原樣輸出,格式顯示的較好看,更清晰。

我們用var_dump()列印出來顯示看看效果:

QQ截圖20161114115125.png

我們仔細觀察上面的這張圖,你會發(fā)現(xiàn)以下幾個特點:

????1.array(size = 4) 說明裡面有4個元素

????2.0 => int 1 我們知道int是整數(shù)的意思,1是整數(shù)的數(shù)值。那前面的0,1,2,3和=>代表什麼意思呢?

????3.最新前的0,1,2,3代表的是值的讀取標識號,我們稱為下標或鍵(英文:key)

????4.= > 是一個符號標準叫法叫作:鍵值對應符。因此,以後再看到 0=> int 1 可以這樣來說。 下標訪問符0對應整型的1。

????5.我們也稱數(shù)組裡面的鍵值對為元素,而元素就是鍵值對的組合。

喔耶! 陣列好像還挺好學的,全是一些規(guī)律喲。

我們透過上例,其實你一不小心的就完成了數(shù)組其中的一種宣告方式:索引數(shù)組的宣告喲。

所謂索引陣列:就是下標全為整數(shù)的陣列。

索引陣列的下標必須從0開始嗎?

答:這個問題其實不然,索引陣列不一定要從0開始。

那如何能夠不從0開始呢?

答:需要用到大家在上面學的一小塊知識喲。就是鍵值對應符。我們來動手寫寫。

<?php

$kele = array('只有不斷努力才能博得未來',10 => 'NoAlike', 'PHP中文網' , '去PHP中文網學PHP', 19 => '鳳姐和芙蓉我都愛' , '楊冪我最愛');

//打印顯示$kele
echo '<pre>';
var_dump($kele);
echo '</pre>';
?>

上例中,我們一不小心就寫了一個索引數(shù)組。不過索引數(shù)組的下標不是從0 開始的,而是從10開始的。

不過上面的例子中,我們覺得寫的不優(yōu)美,我們可以將程式碼寫的更加優(yōu)美一些,格式更加清晰一些。

<?php

$kele = array(
           '只有不斷努力才能博得未來',
           10 => 'NoAlike',
           'PHP中文網' ,
           '去PHP中文網學PHP',
           19 => '鳳姐和芙蓉我都愛' ,
           '楊冪我最愛'
       );


//打印顯示$kele
echo '<pre>';
var_dump($kele);
echo '</pre>';
?>

這樣是不是看得更清楚,一行對應一個陣列的值。

我們執(zhí)行一下程式碼,看看效果:

QQ截圖20161114115947.png

透過上面的效果,我們來總結規(guī)律:

????1.索引數(shù)組若不強制聲明他的下標,他的下標是從0開始的。 (我們的第一個陣列的值:只有不斷努力才能博得未來。這個值的下標為0)。

????2.如果我指定過下標他的下標就為我指定的值。如下標示為10和下標為19的,都是我指定過的值。

????3.若某個值(如NoAlike),強制指定了下標(下標為10)。在它後面加上的值(PHP中文網),不指定下標的話。他們的下標成長規(guī)律為最大值+1。

例如:鳳姐和芙蓉我都愛的下標為19.我在後面加上了:楊冪我最愛。它的下標自動增長為了11。

不知不覺,你已經學會了索引數(shù)組的創(chuàng)建,神奇吧?真為你感到高興!

在索引數(shù)組中增加元素

學習完成了索引數(shù)組的創(chuàng)建,接下來我們學習索引數(shù)組的增加、修改和刪除。

<?php

$minren = array(
           '楊冪',
           '王珞丹',
           '劉亦菲',
           '黃圣依'
       );


//如何向這$minren這個數(shù)組中增加元素呢

//猜猜范冰冰的下標是多少?
$minren[] = '范冰冰';

$minren[100] = '范爺';

//它的下標又為幾呢?
$minren[] = '李晨';

?>

總結:

????1.增加元素在索引數(shù)組中: 陣列變數(shù)名稱[]、陣列變數(shù)名稱[鍵值]這兩種方式來增加元素

????2.鍵值的成長規(guī)則與先前的規(guī)則相同。都是最大值加1的原則。

在索引數(shù)組中刪除元素

#我們還拿剛剛的陣列來舉例:

<?php

$minren = array(
           '楊冪',
           '王珞丹',
           '劉亦菲',
           '黃圣依',
           '范冰冰'
       );


//假設我不喜歡:黃圣依,如何將黃圣依給刪掉掉呢?

//如果刪除掉后范冰冰的下標為多少呢?

//如果在后面再追加一個元素,會填掉:“黃圣依”留下來的空嗎?

unset($minren[3]);

$minren[] = '金星';


echo '<pre>';

var_dump($minren);

echo '</pre>';


?>

看看效果:

QQ截圖20161114130646.png

????1.使用unset刪除變數(shù)的方式來刪除陣列裡面的值。

????2.刪除了中間的數(shù)值,並不會讓後面的下標向前自動移動。而是原來的值為多少就為多少

????3.刪除其中的某個數(shù)值,新加入的數(shù)值不會取代原來的位置,仍遵循最大值加1的原則。

修改值

我們學習最簡單的創(chuàng)造、增加和刪除。我相信大家一定能夠推理出如何修改數(shù)值了。

<?php

$minren = array(
           '楊冪',
           '王珞丹',
           '劉亦菲',
           '黃圣依',
           '范冰冰'
       );

$minren[5] = '范爺';

$minren[2] = '亦菲,不要嫁給韓國人好嗎?';

echo '<pre>';

var_dump($minren);

echo '</pre>';


?>

執(zhí)行上面的程式碼,輸出看看結果。

1.用變數(shù)名[鍵] = 新值。就把數(shù)組中的值定的值修改了。

索引陣列的其他宣告方式

#透過上面的例子,我們學習到了陣列的宣告。我們來學一下數(shù)組的其他聲明方式。

一、直接用之前未宣告的變量,用變數(shù)名稱後面接中括號的方式宣告數(shù)組。

<?php
    //直接寫一個變量后面加上中括號,聲明變量
    $qi[] = '可口可樂';
    $qi[10] ='百事可樂';
    echo '<pre>';
    var_dump($qi);
    echo '</pre>';
?>

二、每次用array()寫的太麻煩了,還可以不用寫array喲,更簡單。

<?php

$minren = [
           '楊冪',
           '王珞丹',
           100 => '劉亦菲',
           '黃圣依',
           '范冰冰'
       ];

echo '<pre>';

var_dump($minren);

echo '</pre>';

?>

上面是另外兩種寫法。當然,你自己喜歡用哪一種就用哪一種來宣告。

關聯(lián)陣列

#

索引數(shù)組適當?shù)淖円幌滦尉统霈F(xiàn)了關聯(lián)數(shù)組。只要數(shù)組裡面有一個為字串的數(shù)組,就為關聯(lián)數(shù)組。

透過上例中,我們發(fā)現(xiàn)陣列的下標只能夠為字串,當然無法滿足我的需求。

假設我想宣告一個下標為帥對應陳奕迅這個值。肯定不能滿足我的需求。

那我們來宣告關聯(lián)數(shù)組。跟索引數(shù)組的聲明方式完成一樣。不過不同的是,必須要指定字串的下標和必須要使用鍵值對應符。

<?php

//聲明一下關聯(lián)數(shù)組
$rela = array(
       '帥' => '陳奕迅',
       '很帥' => '黃曉明',
       '灰?;页?#39; => '寧澤濤',
       '有男人味的大叔' => '吳秀波',
);




//再來玩玩簡潔聲明

$drink = [
        '美' => '鳳姐',
        '很美' => '芙蓉姐姐',
        'verymei' => '楊冪',
        '心中滴女神呀' => '華妃',
        100 => '孫儷',
        '娘娘',
       ];


// 輸出 $rela
echo '<pre>';

var_dump($rela);

echo '</pre>';


// 輸出$drink

echo '<pre>';

var_dump($drink);

echo '</pre>';

?>

我們來實驗一下看看最終的結果是什麼樣的:

QQ截圖20161114130928.png

我們透過實驗知道:

????1.聲明關聯(lián)數(shù)組是鍵名=> 值

????2.在關聯(lián)數(shù)組可以有索引數(shù)組的元素

????3.關聯(lián)數(shù)組中的索引數(shù)組的元素後聲明了無下標的元素,仍是最大值+1原則。 (觀察上圖的值為孫儷、娘娘的兩個元素)。

關聯(lián)陣列的增、刪、改

<?php 
$drink = [
             '美' => '鳳姐',
             '很美' => '芙蓉姐姐',
             'verymei' => '王濤',
             '心中滴女神呀' => '楊瀾',
             100 => '孫儷',
             '娘娘',
            ];
//追加方式與索引數(shù)組是一樣的 
$drink['ynj'] = '伊能靜'; 
//輸出試試 
echo '<pre>';
var_dump($drink);
echo '</pre>'; 
//刪除一個試試 
unset($drink['verymei']);
echo '<pre>';
var_dump($drink);
echo '</pre>'; 
//將芙蓉姐姐 改成:心里美才是真的美 
$drink['很美'] = '心里美才是真的美'; 
echo '<pre>';
var_dump($drink);
echo '</pre>'; 
?>

你動手做剛剛的實驗,你會發(fā)現(xiàn)操作方式與索引的操作方式一樣。只不過下標在讀取有點不一樣罷了。

其他的關聯(lián)數(shù)組宣告方式

<?php
    $drink['nf'] = '農夫山泉';
    $cocacola = '可口可樂';
    //當然可以是變量喲
    $drink['kl'] = $cocacola;
    $data = array(
        'kl' => $cocacola,
    );
    echo '<pre>';
    var_dump($drink);
    echo '</pre>'; 
?>

透過上例我們發(fā)現(xiàn),在關聯(lián)數(shù)組當中也是可以不用array,直接在變數(shù)後面接括號。括號裡面插入字串下標,一樣也宣告成功。

後面插入變數(shù)的例子,只不過把字串變成了變量,當然也沒有問題。

數(shù)組當中插入數(shù)組

數(shù)組可以插入整數(shù)、浮點、字串,那麼數(shù)組當中可不可以插入數(shù)組呢?
當然可以。

在學習陣列的時候,我們定義了這樣一組名詞。

????1.一維數(shù)組 數(shù)組裡面沒有其他數(shù)組,只有單純的一些變數(shù)或值。

????2.二維數(shù)組數(shù)組裡面插入了單層的一個數(shù)組,或者多個數(shù)組

????3.三維數(shù)組在數(shù)組(A)裡面插入了一個數(shù)組(B),在B數(shù)組裡面又插入了一層樓的陣列(C),這種我們就稱為三維數(shù)組

????4.超過三維的,統(tǒng)統(tǒng)叫多維數(shù)組。

註:索引數(shù)組和關聯(lián)數(shù)組當中都可以再插入其他數(shù)組,讓數(shù)組變成多維的。

我們來宣告一個一維陣列,只有一個維度。索引、關聯(lián)均可,這個操作大家都很熟。

<?php

//一維的索引數(shù)組
$data = [1 , 2 , 3 , 4 ,  10 => 250];

//一維的關聯(lián)數(shù)組

$rela = [
           'beijing' => '北京',
           'shanghai' => '上海',
           'tj' => '天津',
       ];

echo '<pre>';
var_dump($rela);
echo '</pre>';

echo '<pre>';
var_dump($data);
echo '</pre>';
?>

一維數(shù)組大家很熟悉,也不難,就是宣告數(shù)組嘛。二維也不難,只是在數(shù)組裡面再插一個或多個數(shù)組。二維學好了,多維就學好了。

<?php

$person = array(

       'office' => '辦公室',

       //注意:插入第一個數(shù)組喲
       'family' => array(

           '爸爸',
           '媽媽',
           'yeye' => '爺爺',
           'nn' => '奶奶',
       ),

       //注意:又插入了一個平級的數(shù)組
       'jiaotong' => array(
           '自行車',
           '摩托車',
           '汽車',
           '飛機',
       ),
);

echo '<pre>';
var_dump($person);
echo '</pre>';

?>

我們執(zhí)行一下看看效果:

QQ截圖20161114131215.png

我們發(fā)現(xiàn)變數(shù)person 是一個陣列類型。有三個元素(size=3)。

  • 第一個元素為office 對應的是一個字串“辦公室”,

  • 第二個元素為family 裡面是一個陣列,這個陣列又有4個元素,數(shù)值分別為:爸爸、媽媽、爺爺、奶奶。

  • 第三個元素為jiaotong,裡面也為一個陣列有4個元素,數(shù)值分別為:自行車、摩托車、汽車、飛機。

好了,二維好聲明,只要把格式寫對了,確定是在一個陣列裡面再插入一個陣列就好。

那要如何訪問:爺爺和爸爸這兩個數(shù)值呢?

<?php
$person = [

       'office' => '辦公室',

       //注意:插入第一個數(shù)組喲
       'family' => [

           '爸爸',
           '媽媽',
           'yeye' => '爺爺',
           'nn' => '奶奶',
       ],

       //注意:又插入了一個平級的數(shù)組
       'jiaotong' => [
           '自行車',
           '摩托車',
           '汽車',
           '飛機',
       ],
];

//訪問“爸爸”這什值
echo $person['family'][0];

echo '<br />-----華麗麗的分割線------<br />';


//訪問“爺爺”這什值
echo $person['family']['yeye'];

echo '<br />-----華麗麗的分割線------<br />';

//訪問“汽車”這什值
echo $person['jiaotong'][2];


?>

我們看看結果如下:

QQ截圖20161114131256.png

上例大家會發(fā)現(xiàn),存取二維陣列不過是依照先前的下標讀取方式依序向下讀取即可。

先寫上變量,將括號寫上family這個下標,再寫上要存取元素的下標。

三維陣列我們說了概念,那我們直接上手實驗看看效果:

<?php


$area = array(

       'china' => array(

           '上海',
           '湖北',
           '天津',
           '北京' => array(
               'hd' => '海淀',
               '朝陽',
               '房山',
               'cp' => '昌平',
           ),

           '廣東' => array(
               '深圳',
               '廣州',
               '佛山',
               'dg' => '東莞',

           ),

       ),


       'usa' => array(

           '華盛頓',
           '舊金山',
           '紐約' => array(
                   '曼哈頓區(qū)',
                   '皇后區(qū)',
                   '布魯克林區(qū)',
           ),

       ),
);


echo '<pre>';
var_dump($area);
echo '</pre>';
?>

我們執(zhí)行一下看看效果:

QQ截圖20161114131432.png

說明:

在變數(shù)$area下有二個數(shù)組,一個為china,一個為usa。

在china這個陣列裡面插入了上海、湖北、天津,又插入了北京和廣東。而北京和廣東又是一個陣列。在北京和廣東這兩個數(shù)組裡面分別有不同的元素。

在這usa 這個陣列裡面插美國的華盛頓、舊金山和紐約。而紐約下面又是一個數(shù)組,說明了紐約下面的幾個區(qū)。

所以說,三維數(shù)組就是在數(shù)組裡面再插入一個數(shù)組(A),在A數(shù)組裡面插入一個數(shù)組。

我們接下來看看,如何來讀取裡面的值。

<?php


$area = array(

       'china' => array(

           '上海',
           '湖北',
           '天津',
           '北京' => array(
               'hd' => '海淀',
               '朝陽',
               '房山',
               'cp' => '昌平',
           ),

           '廣東' => array(
               '深圳',
               '廣州',
               '佛山',
               'dg' => '東莞',

           ),

       ),


       'usa' => array(

           '華盛頓',
           '舊金山',
           '紐約' => array(
                   '曼哈頓區(qū)',
                   '皇后區(qū)',
                   '布魯克林區(qū)',
           ),

       ),
);


//讀取華盛頓
echo $area['usa']['0'];

//讀?。翰剪斂肆?echo $area['usa']['紐約'][2];


//讀?。翰?echo $area['china']['北京']['cp'];

//修改cp下標的值改為:西城區(qū)

$area['china']['北京']['cp'] = '西城區(qū)';

//輸出看看原來昌平的值是否發(fā)生了變化
echo $area['china']['北京']['cp'];

?>

透過上面我們發(fā)現(xiàn)陣列學習起來不難。


學習多維數(shù)組的困難點:

注意格式,將每個維度的換行、縮排弄整齊。就不容易出錯了。

【切記】
數(shù)組元素間的分割符為逗號,在數(shù)組中插入數(shù)組的時候,不要在結尾處寫成了分號(;)

3.png

繼續(xù)學習
||
<?php $minren = array( '楊冪', '王珞丹', '劉亦菲', '黃圣依', '范冰冰' ); $minren[5] = '范爺'; $minren[2] = '亦菲,不要架給韓國人好嗎?'; echo '<pre>'; var_dump($minren); echo '</pre>'; ?>