比方說,我有一個這樣的數組:無法設置變量類型在PHP
$array = array ('1','2','3','4');
我想定字符串的部分(甚至它由數字)添加到陣列中如果不是已經存在於數組中。例如,如果給定的字符串是1234
,則應該添加12
,23
和34
。我寫了簡單的代碼,它是這樣的:
$string = '1234';
$string_length = 4;
$array = array ('1','2','3','4');
for($i=0;$i<$string_length-1;$i++){
$element = substr($string,$i,2);
if (!in_array($element, $array)){
array_push($array, $element);
}
}
它工作得很好,當我嘗試1234
爲$string
。但是,當我嘗試1024
爲$string
,它返回數組是這樣的:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 10
[5] => 24
)
正如你看到的,[4] => 10
後,必須有[5] => 02
,但是沒有它。
原因是02
等於2
(它在第一個給定數組中)作爲整數。這就是代碼跳過它的原因。但我需要添加它。
爲了解決問題,我將$element
的類型設置爲string
。所以我在$string_length
後面加了settype($element,'string');
在我的代碼中,但沒有改變。
我該怎麼辦?