您好,登錄后才能下訂單哦!
今天小編給大家分享一下php數組如何將元素值轉換成int整數類型的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
轉換步驟: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數組如何將元素值轉換成int整數類型”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。