我想转换这个字符串';82,10,1,6150249和#x27;在php中使用int
我想将这个'82,10,1,6150249'字符串转换为int。我想转换这个字符串';82,10,1,6150249和#x27;在php中使用int,php,Php,我想将这个'82,10,1,6150249'字符串转换为int。 我使用此代码 $packet = '82,10,1,6,150,249'; $intPacket = (int)$packet; 但是这段代码转换了其中一个 array(1) { [0]=> int(82) } 我要一起转换如果要转换整数数组,请使用下面的 $array = explode(',', '82,10,1,6,150,249'); foreach($array as $index=>$
我使用此代码
$packet = '82,10,1,6,150,249';
$intPacket = (int)$packet;
但是这段代码转换了其中一个
array(1) { [0]=> int(82) }
我要一起转换如果要转换整数数组,请使用下面的
$array = explode(',', '82,10,1,6,150,249');
foreach($array as $index=>$value) {
$array[$index] = intval($value);
}
试试这个,
与数组映射一起使用
$packet = '82,10,1,6,150,249';
$integerIDs = array_map('intval', explode(',', $packet));
输出
array(6) {
[0]=>
int(82)
[1]=>
int(10)
[2]=>
int(1)
[3]=>
int(6)
[4]=>
int(150)
[5]=>
int(249)
}
由于您有带数字的字符串,您首先必须将该字符串分解为
,
分隔符。然后,如果您确实需要int
表示,请将每个值转换为int
:
$packet = '82,10,1,6,150,249';
$ints = array_map(
function($v) { return (int)$v; },
explode(',', $packet)
);
var_dump($ints);
// array(6) { [0]=> int(82) [1]=> int(10) [2]=> int(1) [3]=> int(6) [4]=> int(150) [5]=> int(249) }
您可以按“,”拆分字符串,然后将每个值转换为整数,就像您在代码中所做的那样。您可以尝试下面注释代码提供的替代方法:
<?php
$packet = '82,10,1,6,150,249';
// FIRST EXPLODE THE STRINGS TO FORM AN ARRAY...
// USING COMMA (,) AS DELIMITER
$arrPacket = explode(",", $packet);
$arrIntPacket = [];
// LOOP THROUGH THE RESULT ($arrPacket)
// CONVERTING EACH SINGLE ELEMENT TO AN INTEGER
foreach($arrPacket as $key=>$strVal){
$arrIntPacket[] = intval($strVal);
}
// THE ARRAY: $arrIntPacket NOW CONTAIN INTEGER VALUES
// OF EACH ELEMENT IN THE ARRAY:
var_dump($arrIntPacket);
分解
并转换每个部分。是否要获取每个用逗号分隔的整数?