Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在PHP中设置变量类型_Php_Algorithm_Types_Variable Types - Fatal编程技术网

无法在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)