比方说,我有一个这样的数组:无法设置变量类型在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');
在我的代码中,但没有改变。
我该怎么办?