成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳談PHP數組

開發 后端
PHP數組是最常見的批量數據存儲機構,文章利用PHP數組模擬了一個簡單的案例,希望對大家有幫助。

隨著時代的發展,我們的編程技術也越來越多,對于PHP想必大家都很了解吧,我們這里就介紹一下PHP數組吧。PHP數組是最常見的批量數據存儲結構,由于數組采用順序存儲,所以可以方便的進行隨機存儲。在很多語言中,數組都是靜態的,必須在使用前指定數組的長度,而在PHP中,你完全不用操心這個問題,數組是完全動態的。你甚至可以這樣來使用一個數組。

  1. PHP CODE  
  2. // DEMO of Array  
  3. demo_array[] = 1;  
  4. demo_array[] = 2; 

#T#下面我們用PHP數組來模擬一下中國廣大的勞動人民很喜歡的一種體育運動——麻將的洗牌。這里先普及一下麻將的規則,以后伺候MM的母親時有用的:)。首先,麻將是要4個人玩的,3P是不行的。總共108張牌,摸完牌后莊家14張,另外3人每人13張,還剩55張。(麻將全國有N種玩法,這里講的是Easy家鄉的玩法,沒有中發白等花牌,是Easy見過的玩法中最簡單的了。)然后我們來分析一下如何用隨機數來模擬這個過程,這樣的練習不妨多做,因為從具體事例中提取出數學模型是編程的基本功。首先,我們用一個長度為108的數組來存放這108張牌,初始化的時候不妨假設它們是順序排放的。

然后,我們來模擬洗牌的過程,這實際上是若干次的兩張牌交換的過程。我們產生兩個在1~108之間的隨機數,然后交換以這兩個數為index的數組元素的值就可以了。因為要多次交換,我們可以把這個過程定義為一個函數。接著,就是把這108張牌分給4個人,實際上,只要前邊的交換次數足夠大,直接切成5份就OK了。不過為了更好的模擬現實和表現數組的特性,我們采用循環的方式來分發。就是每個人一次四張,然后一個人一張,莊家兩張。好了,整個過程就是這樣的了。下邊我們通過程序來說明一些更為細節的東西。

  1. PHP CODE  
  2. <?php 
  3. /** ************************************************************  
  4. * 一個使用數組來模擬麻將洗牌和發牌過程的例子  
  5. * @ Easy@bjpeu.edu.cn  
  6. * @ 2003-6-3  
  7. ** *************************************************************/  
  8.  
  9. // 換牌函數  
  10. function swap()  
  11. {  
  12. // 將$majiangArray定義為全局變量  
  13. // 這樣可以在函數中進行操作  
  14. global $majiangArray;  
  15.  
  16. // 產生兩個1到108的隨機數  
  17. $index1 = rand( 1 , 108 );  
  18. $index2 = rand( 1 , 108 );  
  19.  
  20. // 交換相應的數組元素的值  
  21. $tmp = $majiangArray[ $index1 ];  
  22. $majiangArray[ $index1 ] = $majiangArray[ $index2 ];  
  23. $majiangArray[ $index2 ] = $tmp;  
  24. }  
  25.  
  26. // 將數組的內容用相應的圖片表示出來的函數  
  27. function showArray( $arrayName )  
  28. {  
  29. $countcount = count ( $arrayName );  
  30. for ( $i = 0 ; $i < $count ; $i++ )  
  31. {  
  32. echo '<img src="img/'. $arrayName[ $i ] .'"> ';//顯示相應的圖片  
  33. }  
  34. echo '<p>';//換行  
  35. }  
  36.  
  37. // 主程序部分開始  
  38.  
  39. // 初始化數組  
  40. unset( $majiangArray );  
  41. $majiangArray[] = '0'; // 數據從1開始存放,跳過0  
  42. for ( $i = 1 ; $i <= 3 ; $i++ )// 共有三種花色  
  43. {  
  44. for ( $j = 1 ; $j <= 9 ; $j++ )// 一個花色中有九種牌  
  45. {  
  46. for ( $k = 1 ; $k <= 4 ; $k++ )// 每種牌有四張  
  47. {  
  48. $majiangArray[] = $i . '_' . $j . '.gif';  
  49. }  
  50. }  
  51. }  
  52.  
  53. // 開始洗牌  
  54. for ( $i = 1 ; $i <= 1000 ; $i ++ )// 循環變量i被重新賦值重用  
  55. {  
  56. swap();  
  57. }  
  58.  
  59. // 初始化四個用戶  
  60. unset( $user1 );  
  61. unset( $user2 );  
  62. unset( $user3 );  
  63. unset( $user4 );  
  64.  
  65. // $seek是進度指針,紀錄當前應該從那里發牌  
  66. $seek = 1;  
  67.  
  68. for ( $i = 1 ; $i <= 3 ; $i++ )// 總共摸三次四張的  
  69. {  
  70. for ( $j = 1 ; $j <= 4 ; $j++ )// 四個人  
  71. {  
  72. for ( $k = 1 ; $k <= 4 ; $k++ )// 一次四張  
  73. {  
  74. $name = 'user'.$j;  
  75. ${$name}[] = $majiangArray[ $seek++ ];  
  76. }  
  77. }  
  78. }  
  79.  
  80. // 然后一人一張  
  81. for ( $i = 1 ; $i <= 4 ; $i++ )  
  82. {  
  83. $name = 'user'.$i;  
  84. ${$name}[] = $majiangArray[ $seek++ ];  
  85. }  
  86.  
  87. // ***莊家多摸一張  
  88. $user4[] = $majiangArray[ $seek ];  
  89.  
  90. // 分牌結束 顯示結果  
  91. showArray( $user1 );  
  92. showArray( $user2 );  
  93. showArray( $user3 );  
  94. showArray( $user4 );  
  95.  
  96. ?> 
責任編輯:田樹 來源: 博客
相關推薦

2009-11-18 14:11:10

PHP數組變量

2009-11-16 17:07:58

PHP二維數組

2009-11-18 11:10:16

PHP WEB服務器

2010-04-06 09:44:40

CentOS系統

2009-12-01 16:12:37

PHP HTML截取代

2011-06-08 15:31:43

JAVA多維數組

2015-04-22 15:14:38

JavaScriptJavaScript數

2011-05-17 14:29:29

Dijkstra

2009-11-19 11:12:13

Oracle LogM

2012-02-06 13:52:32

HibernateJava

2013-01-04 13:22:42

OpenFlowSDN

2011-07-12 17:06:43

PHP

2009-12-04 14:41:11

PHP數組變成JSON

2009-11-16 15:56:46

PHP數組查詢

2009-11-16 17:35:38

PHP數組排序

2010-09-27 10:19:09

DHCP工作流程

2010-04-02 10:43:02

云計算

2013-05-28 10:22:03

2010-09-15 10:29:33

無線Mesh接入技術

2009-11-18 11:02:40

Oracle對象特權
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美性视频在线播放 | 成人av网站在线观看 | 五月综合久久 | 亚洲欧美日韩电影 | 国产情侣久久 | 久久久女 | 热99| 欧美区日韩区 | 久久久精品视频免费看 | 色网站视频 | 高清欧美性猛交xxxx黑人猛交 | 日本高清不卡视频 | 精品久久久久国产免费第一页 | 亚洲视频中文字幕 | 亚洲v日韩v综合v精品v | 一级a性色生活片久久毛片波多野 | 国产色黄 | 综合激情av | 免费毛片在线 | 天堂色| 亚洲精品免费视频 | 国产精品视频一区二区三区, | 天天玩天天干天天操 | 亚洲人人| 视频在线一区二区 | 久久国产精品首页 | 国产精品亚洲一区二区三区在线 | 黄色成人在线网站 | 国产一级免费视频 | 别c我啊嗯国产av一毛片 | 亚洲天堂中文字幕 | 一级毛片网 | 天堂一区在线观看 | 日韩在线一区二区三区 | 成人在线观看免费爱爱 | 综合久久久久 | 成人一区二区三区在线观看 | av在线免费观看网址 | 国产福利在线 | 中文字幕高清免费日韩视频在线 | 成人精品一区二区三区四区 |