2016-09-24 70 views
-1

我想將'82,10,1,6,150,249'字符串轉換爲int。

我使用此代碼
我想將此字符串'82,10,1,6,150,249'轉換爲int在php

$packet = '82,10,1,6,150,249'; 
    $intPacket = (int)$packet; 

但這種代碼轉換其中的一個

array(1) { [0]=> int(82) } 

我想轉換產品總數

+0

'Explode'和相互轉換的一部分。 –

+0

你想得到每個由逗號分隔的整數嗎? –

回答

0

與試試這個, 使用explode array_map

$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) 
    } 

DEMO

1

,如果你想整數數組轉換然後在下面

使用
$array = explode(',', '82,10,1,6,150,249'); 
foreach($array as $index=>$value) { 
    $array[$index] = intval($value); 
} 
0

當你有串數字,你首先要explode此字符串由,分隔符。然後,如果你真的需要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) } 
0

像你在你的代碼做您可以通過拆分「」然後每個值轉換爲整數的字符串。

0

您可以嘗試通過以下的註釋代碼提供代替:

<?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);