我是一個PHP noob。我無法弄清楚如何將字符串中的數字列表轉換爲純整數。將數字轉換爲純整數
這是確切的字符串我有(!):
" 70, 51, 53, "
這就是它應該是什麼樣子的轉換後:
70, 51, 53
我想有是的輸出:
<? $featureIDs = array(70, 51, 53) ?>
非常感謝您的幫助!
我是一個PHP noob。我無法弄清楚如何將字符串中的數字列表轉換爲純整數。將數字轉換爲純整數
這是確切的字符串我有(!):
" 70, 51, 53, "
這就是它應該是什麼樣子的轉換後:
70, 51, 53
我想有是的輸出:
<? $featureIDs = array(70, 51, 53) ?>
非常感謝您的幫助!
我不知道,如果你的榜樣輸入引號是真正的意思是字符串的一部分,但如果他們下面的工作(這將剝離出什麼這是不一個數字或來自輸入的逗號)。
$string = '" 70, 51, 53, "';
$output = explode(',',preg_replace("/[^0-9,]/", "", $string));
foreach($output as $k => $v) {
if (!$v) {
unset($output[$k]);
}
}
var_dump($output);
結帳的explode()功能:
$numbers = explode(',', '70, 51, 53');
一旦你讓他們在一個數組,因爲PHP是弱類型,你可以用它們作爲整數或字符串。尾隨,
可能會導致問題,因此您可能需要將其刪除。
$ a = " 70, 51, 53, ";
$integerArray = explode(',', trim($a , " ,"));
修剪()將清除出從字符串的開頭和末尾的所有逗號和空格, 爆炸將通過逗號在陣列單獨字符串分開的字符串,如PHP對待數字串相同數字,這將是正確的:
$integerArray[0] + 30 == 100
第一:通過使用
$string = str_replace(' ', '', $string);
然後刪除所有空格,分割字符串到每個元素:
$featureIDs = explode(',', $string);
最後,把所有字符串轉換爲整數:
array_walk($featureIDs , 'intval');
這會輸出「Bool(True)」: <? $ pages =「70,51,53,」?> <? $ string = str_replace('','',$ pages); ?> <? $ numbers = explode(',',$ string); ?> <?$ featuredIDs = array_walk($ numbers,'intval'); ?> – christophe
不,$ featureIDs包含整數,因爲array_walk使用引用。改變了我的答案 –
中的命名,你不必將字符串轉換爲整數,php將字符串解釋爲已知的整數 – Benedictus
使用preg_match_all(),獲取所有「數字序列」。
$input = " 70, 51, 53, ";
$ids = array();
if (preg_match_all('(\d+)', $input, $matches)) {
$ids = $matches[0];
}
var_dump($ids);
輸出:
array(3) {
[0]=>
string(2) "70"
[1]=>
string(2) "51"
[2]=>
string(2) "53"
}
標題說,你要純整數和問題問的一個逗號分隔的字符串。哪個錯誤?你到目前爲止編寫了哪些PHP代碼? –
我編輯了我原來的問題!謝謝你的努力! – christophe