假设一个数组的输出:
$arr = str_split($dutstring);
print_r($arr);Array ( [0] => 0 [1] => 1 [2] => 0 [3] => 1 [4] => 1 [5] => 1 [6] => 1 [7] => 1 [8] => 1 [9] => 1 [10] => 1 [11] => 1 [12] => 1 [13] => 0 [14] => 0 [15] => 0 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [20] => 1 [21] => 1 [22] => 1 [23] => 1 [24] => 1 [25] => 1 [26] => 1 [27] => 1 [28] => 1 [29] => 1 [30] => 1 [31] => 1 [32] => 1 [33] => 1 [34] => 1 [35] => 1 [36] => 0 [37] => 1 [38] => 1 [39] => 1 [40] => 1 [41] => 1 [42] => 1 [43] => 1 [44] => 0 [45] => 1 [46] => 1 [47] => 1 [48] => 1 [49] => 1 [50] => 1 [51] => 1 [52] => 1 [53] => 1 [54] => 1 [55] => 1 [56] => 1 [57] => 1 [58] => 1 [59] => 1 [60] => 1 [61] => 1 [62] => 1 [63] => 1 [64] => 1 )现在要求结果为0的数组的序号,怎么求?
$arr = str_split($dutstring);
print_r($arr);Array ( [0] => 0 [1] => 1 [2] => 0 [3] => 1 [4] => 1 [5] => 1 [6] => 1 [7] => 1 [8] => 1 [9] => 1 [10] => 1 [11] => 1 [12] => 1 [13] => 0 [14] => 0 [15] => 0 [16] => 1 [17] => 1 [18] => 1 [19] => 1 [20] => 1 [21] => 1 [22] => 1 [23] => 1 [24] => 1 [25] => 1 [26] => 1 [27] => 1 [28] => 1 [29] => 1 [30] => 1 [31] => 1 [32] => 1 [33] => 1 [34] => 1 [35] => 1 [36] => 0 [37] => 1 [38] => 1 [39] => 1 [40] => 1 [41] => 1 [42] => 1 [43] => 1 [44] => 0 [45] => 1 [46] => 1 [47] => 1 [48] => 1 [49] => 1 [50] => 1 [51] => 1 [52] => 1 [53] => 1 [54] => 1 [55] => 1 [56] => 1 [57] => 1 [58] => 1 [59] => 1 [60] => 1 [61] => 1 [62] => 1 [63] => 1 [64] => 1 )现在要求结果为0的数组的序号,怎么求?
foreach( $arr as $k=>$v )
{
if( $v == 0 )
{
$str .= $k."|";
}
}echo $str;
{
$key = key($arr);
if($arr[$key] == 0) echo "$key为0";
next($arr);
}
foreach ($arr as $key => $value)
{
if ($value = 0) echo 'key= '.$key.'<br/>';}
<?php
foreach($arr as $key=>$value){
echo $value?null:$key;
}
?>
<?php
// A
$str = '213218309284098497324530981092839021';
$result = str_word_count($str,2,'0');
var_export($result);
// B
$strs = str_split($str);
$result = array_uintersect($strs,array('0'),'strcmp');
var_export($result);
?>
是不是你的意思是值为0,并且序号大于1
那在加个判断条件就可以了
$arr = str_split($dutstring);
foreach ($arr as $key => $value)
{
if ($value == 0 && $key>1) echo 'key= '.$key.'<br/>';}
foreach( $arr as $k=>$v )
{
$str[$k+1] = $v;
}print_r( $str );
foreach ($arr as $key => $value)
{
if ($value == 0)
echo $key.'<br/>';
} 这样得出的$k值是 75 83 85 89 这些是数组下标
我想得到的$k值是:76 84 86 90最好是直接得到$k的值为以上结果,而不是echo 出来$k+'1'的值。
$arr = str_split($dutstring); $out = array_intersect($arr, array('0'));
print_r($out);