ホームページ  >  記事  >  バックエンド開発  >  2 桁の配列演算について質問します。

2 桁の配列演算について質問します。

WBOY
WBOYオリジナル
2016-06-23 13:56:42713ブラウズ

$aa=array("id"=>"1","time"=>"5","neirong"=>"www");
$aa=array("id"=>" 2","time"=>"55","neirong"=>"www");
$aa=array("id"=>"4","time"=>"555", "neirong"=>"www");
$aa=array("id"=>"5","time"=>"555","neirong"=>"www"); aaa=array("duibi"=>$aa);

$bb=array("id"=>"1","time"=>"5");
$bb=array("id") "=>"2","時間"=>"50");
$bb=array("id"=>"3","時間"=>"555");
$bb= array("duibi"=>$bb);

$aaa と $bbb の比較演算
$cc=array("id"=>"2","time"=>"55", "ネイロン"=>"www");
$cc=array("id"=>"3","ネイロン"=>"削除");
$cc=array("id"=>" 4","time"=>"555","neirong"=>"www");
$cc=array("id"=>"5","time"=>"555" , "neirong"=>"www");

書き方



まずは説明します

$aa=array("id"=>"1","time"=>"5" , "neirong"=>"www");$aa と $bb の時刻が同じであるため、このデータは利用できなくなりました

$aa=array("id"=>"2","time"=>) ;"55","neirong"=>"www");
$bb=array("id"=>"2","time"=>"50");
これは、bbdetime が より長いためです。ああ、時間が少ないので。 。

$cc=array("id"=>"3","neirong"=>"delete");対応する $aa は存在しません。 。


$cc=array("id"=>"4","time"=>"555","neirong"=>"www");
$cc=array("id"=>); ;"5","time"=>"555","neirong"=>"www");

$bb には ID 4 と 5 に対応するデータがないためです。 。それでは






ディスカッションへの返信(解決策)

基本すぎるので、戻ってもう一度練習してください...

基本すぎるので、戻ってもう一度練習してください...

Do you書く能力はありますか?

多次元配列を記述するには時間がかかりますが、投稿者が望んでいる結果かどうかはわかりません。 array (size=4)

array (サイズ=3)
'id' => 文字列 '3' (長さ=1)
'時間' => 文字列 '555' (長さ=3)
'neirong' => 文字列 '削除' (長さ= 6)
1 =>
配列 ( size=3)
'id' => 文字列 '2' (length=1)
'time' => 'neirong' => 文字列 'www' (長さ = 3)
2 => 配列 (サイズ = 3)
'id' => 文字列 '4' (長さ = 1)
'時間' => ' (長さ=3)
'neirong' => 文字列 'www' (長さ=3)
3 => 配列 (サイズ=3)
'id' => 文字列 '5' (長さ=1)
'time' => 文字列 '555 ' (長さ=3)
'neirong' => 文字列 'www' (長さ=3)

。 。 。 。 。 。 。 。 。 。

れーれー

れーれー

れーれー


れーれー


 [3] => Array
        (
            [id] => 3
            [time] => 555
        )
不对哈 没delete

 [id] => 3
            [neirong] => delete

你原始的数据只有 $bb=array("id"=>"3","time"=>"555");
我不能凭空臆造出 "neirong"=>"delete"
但你可以,因为规则是你制定的
你自己加上就是了

<?php$aa[0]=array("id"=>"1","time"=>"5","neirong"=>"www");$aa[1]=array("id"=>"2","time"=>"55","neirong"=>"www");$aa[2]=array("id"=>"4","time"=>"555","neirong"=>"www");$aa[3]=array("id"=>"5","time"=>"555","neirong"=>"www");$bb[0]=array("id"=>"1","time"=>"5");$bb[1]=array("id"=>"2","time"=>"50");$bb[2]=array("id"=>"3","time"=>"555");$c = array();$d = array();$e = array();$j = array();foreach($bb as $v){  $e[] = $v['id'];}foreach($aa as $v){  $d[] = $v['id'];}$s = array_diff_assoc($e, $d);$f = array_diff_assoc($d, $e);$g = array_merge($s,$f);foreach($aa as $k=>$v){  foreach($bb as $k1=>$v1){    if($v['id']==$v1['id'] && $v1['time']>$v['time']){      $c[] = array('id'=>$v1['id'],'time'=>$v1['time'],'neirong'=>'delete');    }elseif($v['id']==$v1['id'] && $v1['time']<$v['time']){      $c[] = array('id'=>$v['id'],'time'=>$v['time'],'neirong'=>$v['neirong']);    }    foreach($g as $v2){      if($v['id'] == $v2 && !in_array($v['id'], $j)){        $c[] = array('id'=>$v['id'],'time'=>$v['time'],'neirong'=>$v['neirong']);        $j[] = $v['id'];      }      if($v1['id'] == $v2  && !in_array($v1['id'], $j)){        $c[] = array('id'=>$v1['id'],'time'=>$v1['time'],'neirong'=>'delete');        $j[] = $v1['id'];      }    }  }}var_dump($c);?>

我这个太麻烦了,自己可以改改,不太擅长简化代码

你原始的数据只有 $bb=array("id"=>"3","time"=>"555");
我不能凭空臆造出 "neirong"=>"delete"
但你可以,因为规则是你制定的
你自己加上就是了

哈哈我刚加上了

我这个太麻烦了,自己可以改改,不太擅长简化代码

刚看版主的代码是最好的  直接遍历$aa跟$bb对比修改  

<?php$aa = array(  array("id"=>"1","time"=>"5","neirong"=>"www"),  array("id"=>"2","time"=>"55","neirong"=>"www"),  array("id"=>"4","time"=>"555","neirong"=>"www"),  array("id"=>"5","time"=>"555","neirong"=>"www"),); $bb = array(  array("id"=>"1","time"=>"5"),  array("id"=>"2","time"=>"50"),  array("id"=>"3","time"=>"555"),); foreach($aa as $v) $r[$v['id']] = $v;foreach($bb as $v) {  $k = $v['id'];  if(! isset($r[$k]))  {    $v['content']='delete';    $r[$k] = $v;  }   elseif($r[$k]['time'] < $v['time']) $r[$k] = $v;  elseif($r[$k]['time'] == $v['time']) unset($r[$k]);}ksort($r);print_r($r);?>s
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。