方法:1、定義一個計數器變數並賦值0;2、用「foreach ($arr as $val)」遍歷數組;3、在循環中,用「is_string($val)」判斷數組元素是否為字串,如果是則計數器變數值加1;3、循環結束後,輸出計數器變數即可。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
在php中,尋找陣列中有幾個字串,就是判斷數組中有幾個元素是字串類型的。
實作想法:
利用foreach迴圈語句遍歷陣列
在迴圈中,使用is_string()函數一個個判斷數組元素是否為字串
如果是,則需要一個計數器來統計(計數器要在循環語句前定義,且初始值要為0)
實作程式碼:
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1,2,"3","4","hello",4,5,6); $con=0; //计数器,并设置初始值为0 foreach ($arr as $val){ //在每次循环中将当前数组的值赋给 $val if(is_string($val)){ //判断数组元素是否为字符串 $con++; //如果是,计数器的值加1 } } echo "数组中有 ".$con." 个字符串"; ?>
計算出,上例數組中有三個字串,我們利用var_dump()輸出數組詳細資料來看看對不對:
var_dump($arr);
ok,是對的!
說明:
1、foreach語句
foreach是專門為遍歷數組而設計的語句,是遍歷數組時常用的方法,在遍歷數組方面提供了很大的便利;PHP5後還可以遍歷物件(foreach僅能夠應用於數組和物件)。
foreach語句遍歷數組與數組下標無關,且可以用於不連續的索引數組和以字串為下標的關聯數組。
下面我們先來了解foreach語句,該語句有兩種語法格式:
#語法格式1:
foreach ($array as $value){ 语句块; }
遍歷給定的$array 數組,在每次循環中將目前數組的值賦給$value。
語法格式2:
foreach ($array as $key => $value){ 语句块; }
遍歷給定的$array 數組,在每次循環中會將目前數組的值賦給$value,鍵名賦給$key。
foreach語句在每次迴圈時,陣列內部的指標會向前移一步,這樣在下一次迴圈中會得到下一個陣列元素,直到遍歷到陣列的結尾,停止遍歷並退出迴圈。
2、is_string()函數
is_string() 函數用來偵測變數是否為字串。
如果指定變數為字串,則傳回 TRUE,否則傳回 FALSE。
推薦學習:《PHP影片教學》
以上是php怎麼查找陣列中有幾個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!