轉換步驟:1、使用foreach語句透過引用循環的方式遍歷數組,語法「foreach ($array as &$value){//循環體語句區塊;}」;2、在循環體中,使用is_int()函數判斷元素「$value」是否為整數類型,如果不是則使用intval()函數將其轉換為int類型,語法「if(!is_int($value)){$value=intval($ value);}」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
PHP 是弱資料類型的程式語言,所以PHP 中的陣列變數可以儲存任意多個、任意類型的數據,並且可以實現其他強資料類型中的堆疊、堆疊、佇列等資料結構的功能。
簡單來說,PHP陣列元素的類型沒有限制,可以是數字(整數和小數)、字串、布林值、陣列、Object物件等類型。
那麼怎麼讓php陣列中的元素都是int整數型別呢?將不是int整數類型的元素轉為int整數類型即可,以下將介紹實現步驟步驟。
轉換步驟:
步驟1、使用foreach語句透過引用循環的方式遍歷陣列
foreach ($array as &$value){ //循环体语句块; }
遍歷給定的 $array 數組,在每個循環中會將目前陣列的值賦給 $value。
一般情況下,使用foreach語句遍歷陣列時,是對陣列的備份進行操作,一般不會影響陣列本身。
但採用引用迴圈(在 $value 之前加上 &,這樣foreach語句會以引用賦值而非拷貝一個值),那麼在迴圈體內對陣列進行操作,就會影響陣列本身。
步驟2:在迴圈體中,將元素轉換為int整數型別
使用is_int()函數判斷元素$value是否為整數型,如果不是則使用intval()函數將其轉換為int型別
if(!is_int($value)){ $value=intval($value); }
實作程式碼:
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ var_dump($arr); foreach($arr as &$v){ if(!is_int($v)){ $v=intval($v); } } unset($v); // 最后取消掉引用 echo "转换后"; var_dump($arr); } ?>
呼叫函數
$a = array(11,"254",12,3.14,3,5); f($a);#
$b = array(FALSE,"254",3.14,3,null,TRUE); f($b);
函數說明:
1、is_int()函數
is_int() 函數用來偵測變數是否為整數,如果指定的變數是整數TRUE,否則傳回FALSE。
別名函數():is_integer()、is_long()
注意: 若想測試變數是否為數字或數字字串(如表單輸入,它們通常為字串),必須使用 is_numeric()。
2、intval()函數
intval()直接取整,捨棄小數,保留整數
<?php $str="123.9"; var_dump($str); $int=intval($str); //转换后数值:123 var_dump($int); ?>
擴充知識:將值轉換成int(整數)型別
1)、使用settype() 函數
settype (var,type)
函數用於設定變數的類型,可以將變數轉為指定類型。
只需將參數type設為「int」或「integer」即可將變數轉為int型別。注意:此函數修改原變量,傳回值為布林類型(設定成功時傳回 TRUE, 失敗時傳回 FALSE。)。
<?php $str="123.9"; var_dump($str); $int=settype($str,"int"); var_dump($int); //输出bool(true) var_dump($str); //输出int(12) ?>
2)、利用強制型別轉換
在要轉換的數字之前加上用括號括起來的目標型別「(int)」或“(integer)”,強制轉為整數型。
<?php $n=123.9; var_dump($n); $num1=(integer)$n; $num2=(int)$n; var_dump($num1); var_dump($num2); ?>
推薦學習:《PHP影片教學》
以上是php數組怎麼將元素值轉換成int整數類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!