0

私は次のような2つの配列を持っています

前:

Array(
        [name] => [asdfg]
        [city] => [anand]
)    

現在:

Array(
        [name] => [ud]
        [state] => [anand]
)

次に、これら2つの配列を比較し、変更された現在の配列のキーまたは値を変更して、次のような要素をラップする必要があります。

Array(
        [name] => [<span class='bold_view'> ud </span>]
        [<span class='bold_view'> state </span>] => [anand]
)
4

3 に答える 3

0
$current['name']="<span class='bold_view'> ".$current['name']." </span>";
$current['<span class='bold_view'> state </span>']=$current['state'];

私はそれがあまり意味をなさないと言わなければなりませんが、ここにあります。

于 2013-02-11T09:55:42.850 に答える
0

このコードをコピーして実行するだけです:そしてビューソースを見る(Ctrl + u)

<?php

$prev   = array("name"=>"[asdfg]","city"=>"[anand]");
$curent = array("name"=>"[ud]","state"=>"[anand]");

$res    = array();
foreach($prev as $key=>$val){
   $res[$key]   = $val;
   if(array_key_exists($key,$curent)){
      $res[$key]   = "[<span class='bold_view'> ".$curent[$key]." </span>]";
   }
   if($new_key = array_search($val,$curent)){
      unset($res[$key]);
      $res["<span class='bold_view'> ".$new_key." </span>"]   = $val;
   }
}

print_r($res);

?>
于 2013-02-11T11:18:42.003 に答える
0
$arr_pre = array(
                  "name"=>"asdfg",
                  "city"=>"anand",
                  "address" => "anand",
);

$arr_current= array(
                    "name"=>"ud",
                    "state"=>"anand",
                    "address" => "ananda"
);

$result = array_diff_assoc($arr_current,$arr_pre);
    $count_curr = array_count_values($arr_current);
    $count_old  = array_count_values($arr_pre);

    foreach ($result as $key => $value){



        if(!array_key_exists($key,$arr_pre ))
        {
            $key_new = "<b>".$key."</b>";

            if(!in_array($value,$arr_pre))
            {
                $val = "<b>".$value."</b>";
            }

            else if((isset($count_curr[$value]) != isset($count_old[$value])))
            {
                $val = "<b>".$value."</b>";
            }
            else 
            {
                $val = $value;
            }

            unset($arr_current_info[$key]);
        }
        else {
            $key_new = $key;

            if(!in_array($value,$arr_pre))
            {
                $val = "<b>".$value."</b>";
            }

            else if((isset($count_curr[$value]) != isset($count_old[$value])))
            {
                $val = "<b>".$value."</b>";
            }
            else 
            {
                $val = $value;
            }
        }

        $arr_current_info[$key_new]=$val;

    }


    echo "<pre>";
    print_r($arr_current_info);  

私はこのようにしました、そして私は完璧な答えを得ました

于 2013-02-12T07:33:14.897 に答える