一個7位數分成多個變量我們有我們需要打入7個獨立變量「勢」 7位數字。如果是4位數字,則其他3位數字應該是空的。作爲一個例子:打破PHP
$total = 12345
$var1 = ""
$var2 = ""
$var3 = "1"
$var4 = "2"
$var5 = "3"
$var6 = "4"
$var7 = "5"
任何人有任何想法的最佳方式來做到這一點?
在此先感謝。
一個7位數分成多個變量我們有我們需要打入7個獨立變量「勢」 7位數字。如果是4位數字,則其他3位數字應該是空的。作爲一個例子:打破PHP
$total = 12345
$var1 = ""
$var2 = ""
$var3 = "1"
$var4 = "2"
$var5 = "3"
$var6 = "4"
$var7 = "5"
任何人有任何想法的最佳方式來做到這一點?
在此先感謝。
拆分,然後墊:
$a = 123456;
$arr = array_pad(str_split($a), -7, "");
如果你確實需要7個變量:
$a = 123456;
$arr = array_pad(str_split($a), -7, "");
$i = 1;
foreach($arr as $s)
${"var".$i++} = $s;
但我強烈建議使用數組。
如果$total
是一個正整數,$total % 10
會給你最後一個數字。整數除以10將刪除最後一位數字。
$digits = array();
for ($i = $total; $i > 0; $i = (int)$total/10) {
array_unshift($digits, $total % 10);
}
這不僅違反DRY,它拖動它變成一個黑暗的衚衕和強姦它... –
這可能是更有建設性地說,這將是一個數組和循環更有效。 –
對不起@Kolink,我只是想表現出不同的理念,在細節上抓住不放。更好? –
至於說由他們中的大多數使用數組和循環是合適的,還是如果你不想使用數組。
試試這個:
<?php
$total=12345;
$totaldigits=strlen((string)$total);
while($totaldigits!=0){
$var=$total%10;
$total=$total/10;
$totaldigits--;
echo 'Digit '.$totaldigits.':'.$var.'<br/>';
}
?>
我不能把他們在不同的變量,只要你想。爲此,您將不得不使用該數組。
如果你改變了主意,
$total=12345;
$num_arr=array();
$spaceneeded=7-strlen((string)$total);//the no. of array elements to be kept empty as per the total number of digits
$i=$spaceneeded;
$totaldigits=strlen((string)$total);
while($totaldigits!=0){
$var=$total%10;
$total=$total/10;
$totaldigits--;
for($j=0;$j<$spaceneeded;$j++){
$num_arr[$j]="";
}
$num_arr[$i]=$var;
$i++;
}
看看這會有所幫助。
[你嘗試過什麼(http://mattgemmell.com/2008/12/08/what-have-you-tried/)? – 3dgoo
你想聲明'$ var1'和'$ var2'嗎? – F0G