PHPの配列比較値、その解決方法

WBOY
リリース: 2016-06-13 13:44:26
オリジナル
653 人が閲覧しました

PHP 配列比較値
{ [0]=> 文字列(9) "1_29" [1]=> 文字列(8) "1_334" [2]=> => 文字列(4) "2"
[4]=> 文字列(9) "1_30" [6]=> 文字列(4) 6" [7]=> string(4) "10" }

データ内の '-' で区切られた前の値が、データ内の '-' を除いた値と同じである場合、このデータはtake
たとえば、[2]=> string(4) "1" と同じデータに 1 があるため、1_29 は取得されません。
最終結果には '-' のみが含まれます。重複なし
{[5]=> ; string(8) "5_334" }


------解決策---------- ----------

$a=array("1_29","2_334","1","2","1_30","5_334","6","10");
var_dump($a);

$keys=array();
$result=array();
foreach($a as $val){
if(is_numeric($ val))
$keys[]=$val;
}
foreach($a as $val){
if(!is_numeric($val)){
$tmp=explode ("_",$val);
if(count($tmp)==2&&!in_array($tmp[0],$keys))
$result[]=$val;
}
}
var_dump($result);
?>

出力:

array(8) {
[0]=>
文字列(4) "1_29"
[1]=>
文字列(5) "2_334"
[2]=>
文字列(1) "1"
[3 ]=>
文字列(1) "2"
[4]=>
文字列(4) "1_30"
[5]=>
文字列(5) " 5_334"
[6]=>
文字列(1) "6"
[7]=>
文字列(2) "10"
}
配列(1) ) {
[0]=>
string(5) "5_334"
}

------解決策------------------
非常に安っぽいコードですが、結果は期待どおりです。

PHP コード

$Array = 配列 ('1_29', '2_334', '1', '2', '1_30', '5_334', '6', '10' );
$ReferArray = 配列();
$FixArray = 配列();
$MyArray = 配列();
foreach ( $Array as $Value ) {
    if (strpos ( $Value, '_' ) == false) {
        $ReferArray [] = $Value;
    } それ以外 {
        $FixArray [] = substr ( $Value, 0, 1 );
        $MyArray [] = $Value;
    }
}

$FixArray = array_diff ( $FixArray, $ReferArray );
foreach ( $FixArray as $Key => $Value ) {
    echo $MyArray [$Key];
<div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート