私はここで信じられないほど奇妙な助けを求めています。可能な限りそれを説明しようと思います。
アイテムの配列があります(テキストは重要ではないため、テキストをハッシュしました。使用する長さです)
Array
(
[0] => ##
[1] => ###
[2] => ###
[3] => ###
[4] => ####
[5] => ###
[6] => ####
[7] => #####
[8] => ##
[9] => ###
)
私がチェックする必要があるのは、各値の長さが前の要素の長さより1以下大きいことを確認することです。長さを1より大きくすることはできますが、長くすることはできません。上記の配列は、これらの規則に従って有効です。
ただし、以下の配列は誤りです(要素4の長さが2より大きい3である方法を参照してください)。
Array
(
[0] => ##
[1] => ###
[2] => ###
[3] => ###
[4] => #####
[5] => ###
[6] => ####
[7] => #####
[8] => ##
[9] => ###
)
これが私がこれまでに持っているものです:
<?php
$array = array('##','###','###','###','####','###','####','#####','##','###'); // Valid Array
$array = array('##','###','###','###','#####','###','####','#####','##','###'); // Invalid Array
$tmp = 0;
$i = 0;
$valid = true;
foreach($array as $k => $v) {
if($i>0&&strlen($v)>$tmp&&strlen($v)>($tmp+1)) {
$valid = false;
}
$tmp = strlen($v);
$i++;
}
echo ($valid) ? 'Array is valid' : 'Array is invalid';
?>
それは動作しますが、それは地獄のように厄介で、私はまったく満足していません、誰かがこれをチェックするためのより良い方法について他の提案がありますか?