无法在PHP中设置变量类型
假设我有这样一个数组:无法在PHP中设置变量类型,php,algorithm,types,variable-types,Php,Algorithm,Types,Variable Types,假设我有这样一个数组: $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++){ $eleme
$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);
}
}
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 10
[5] => 24
)
如您所见,在[4]=>10
之后,必须有[5]=>02
,但没有
原因是02
等于2
(位于第一个给定数组中)作为整数。这就是代码跳过它的原因。但我需要补充一点
为了解决问题,我将$element
的类型设置为字符串
。所以我添加了settype($element,'string')代码>在我的代码中$string\u length
之后,但没有任何更改
我能做什么?试试:
if (!in_array($element, $array, true)){
试试:
if (!in_array($element, $array, true)){
使用以下代码:
请注意,我正在将true
传递给in_数组函数。它做了一个严格的比较。
$string='1024';
$string_length=4;
$array=array('1','2','3','4');
对于($i=0;$i使用以下代码:
请注意,我正在将true
传递给in_数组函数。它进行严格的比较。
$string='1024';
$string_length=4;
$array=array('1','2','3','4');
对于($i=0;$i)