您好,登錄后才能下訂單哦!
這篇文章主要介紹PHP數組有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
隨著時代的發展,我們的編程技術也越來越多,對于PHP想必大家都很了解吧,我們這里就介紹一下PHP數組吧。PHP數組是最常見的批量數據存儲結構,由于數組采用順序存儲,所以可以方便的進行隨機存儲。在很多語言中,數組都是靜態的,必須在使用前指定數組的長度,而在PHP中,你完全不用操心這個問題,數組是完全動態的。你甚至可以這樣來使用一個數組。
PHP CODE // DEMO of Array demo_array[] = 1; demo_array[] = 2;
下面我們用PHP數組來模擬一下中國廣大的勞動人民很喜歡的一種體育運動——麻將的洗牌。這里先普及一下麻將的規則,以后伺候MM的母親時有用的:)。首先,麻將是要4個人玩的,3P是不行的。總共108張牌,摸完牌后莊家14張,另外3人每人13張,還剩55張。(麻將全國有N種玩法,這里講的是Easy家鄉的玩法,沒有中發白等花牌,是Easy見過的玩法中最簡單的了。)然后我們來分析一下如何用隨機數來模擬這個過程,這樣的練習不妨多做,因為從具體事例中提取出數學模型是編程的基本功。首先,我們用一個長度為108的數組來存放這108張牌,初始化的時候不妨假設它們是順序排放的。
然后,我們來模擬洗牌的過程,這實際上是若干次的兩張牌交換的過程。我們產生兩個在1~108之間的隨機數,然后交換以這兩個數為index的數組元素的值就可以了。因為要多次交換,我們可以把這個過程定義為一個函數。接著,就是把這108張牌分給4個人,實際上,只要前邊的交換次數足夠大,直接切成5份就OK了。不過為了更好的模擬現實和表現數組的特性,我們采用循環的方式來分發。就是每個人一次四張,然后一個人一張,莊家兩張。好了,整個過程就是這樣的了。下邊我們通過程序來說明一些更為細節的東西。
PHP CODE <?php /** ************************************************************ * 一個使用數組來模擬麻將洗牌和發牌過程的例子 * @ Easy@bjpeu.edu.cn * @ 2003-6-3 ** *************************************************************/ // 換牌函數 function swap() { // 將$majiangArray定義為全局變量 // 這樣可以在函數中進行操作 global $majiangArray; // 產生兩個1到108的隨機數 $index1 = rand( 1 , 108 ); $index2 = rand( 1 , 108 ); // 交換相應的數組元素的值 $tmp = $majiangArray[ $index1 ]; $majiangArray[ $index1 ] = $majiangArray[ $index2 ]; $majiangArray[ $index2 ] = $tmp; } // 將數組的內容用相應的圖片表示出來的函數 function showArray( $arrayName ) { $countcount = count ( $arrayName ); for ( $i = 0 ; $i < $count ; $i++ ) { echo '<img src="img/'. $arrayName[ $i ] .'"> ';//顯示相應的圖片 } echo '<p>';//換行 } // 主程序部分開始 // 初始化數組 unset( $majiangArray ); $majiangArray[] = '0'; // 數據從1開始存放,跳過0 for ( $i = 1 ; $i <= 3 ; $i++ )// 共有三種花色 { for ( $j = 1 ; $j <= 9 ; $j++ )// 一個花色中有九種牌 { for ( $k = 1 ; $k <= 4 ; $k++ )// 每種牌有四張 { $majiangArray[] = $i . '_' . $j . '.gif'; } } } // 開始洗牌 for ( $i = 1 ; $i <= 1000 ; $i ++ )// 循環變量i被重新賦值重用 { swap(); } // 初始化四個用戶 unset( $user1 ); unset( $user2 ); unset( $user3 ); unset( $user4 ); // $seek是進度指針,紀錄當前應該從那里發牌 $seek = 1; for ( $i = 1 ; $i <= 3 ; $i++ )// 總共摸三次四張的 { for ( $j = 1 ; $j <= 4 ; $j++ )// 四個人 { for ( $k = 1 ; $k <= 4 ; $k++ )// 一次四張 { $name = 'user'.$j; ${$name}[] = $majiangArray[ $seek++ ]; } } } // 然后一人一張 for ( $i = 1 ; $i <= 4 ; $i++ ) { $name = 'user'.$i; ${$name}[] = $majiangArray[ $seek++ ]; } // ***莊家多摸一張 $user4[] = $majiangArray[ $seek ]; // 分牌結束 顯示結果 showArray( $user1 ); showArray( $user2 ); showArray( $user3 ); showArray( $user4 ); ?>
以上是“PHP數組有什么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。