Heim >Backend-Entwicklung >PHP-Tutorial >Deduplizierung von PHP-Array-Operationen T.T

Deduplizierung von PHP-Array-Operationen T.T

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-08-25 10:37:301166Durchsuche

Meister, mein Array sieht so aus
array(2) {
[14] => array(6) {

<code>["job_name"] => string(44) "苹果,香蕉,苹果"</code>

}
[3] => array(6) {

<code>["job_name"] => string(44) "梨子,梨子,西红柿"</code>

}
}

Ich möchte, dass es

ist

array(2) {
[14] => array(6) {

<code>["job_name"] => string(44) "苹果2,香蕉1"</code>

}
[3] => array(6) {

<code>["job_name"] => string(44) "梨子2,西红柿1"</code>

}
}

Ist das Jiang Zi schwierig? T.T. Weiß es jemand?

Antwortinhalt:

Meister, mein Array sieht so aus

array(2) {
[14] => array(6) {

<code>["job_name"] => string(44) "苹果,香蕉,苹果"</code>
}

[3] => array(6) {

<code>["job_name"] => string(44) "梨子,梨子,西红柿"</code>
}

}

Ich möchte, dass es

ist

array(2) {

[14] => array(6) {

<code>["job_name"] => string(44) "苹果2,香蕉1"</code>
}

[3] => array(6) {

<code>["job_name"] => string(44) "梨子2,西红柿1"</code>
}

}

Ist das Jiang Zi schwierig? T.T. Weiß es jemand?

<code class="php">array_walk($arr, function(&$item) {
    $item['job_name'] = join(',', array_unique(explode(',', $item['job_name'])));
});</code>
Ich habe die Frage nicht klar verstanden, hier ist die überarbeitete Antwort

<code class="php">array_walk($arr, function(&$item) {
    $after = array_values(array_unique(explode(',', $item['job_name'])));
    foreach ($after as $key=>$value) {
        preg_match_all("/$value/", $item['job_name'], $matches);
        $after[$key] = $value . count($matches[0]);
    }
    $item['job_name'] = join(',', $after);
});</code>
bedeutet das Feld

in diesem zweidimensionalen Array. Wenn es Duplikate gibt, legen Sie einfach die entsprechende Anzahl von Wiederholungen nach der Wiederholung fest, oder?

job_name

<code class="php">foreach ($arr as $fruits){
    $fruits_array = explode(',',$fruits['job_name']);
    $count_array = array();
    foreach ($fruits_array as $fruit){
        $count_array[$fruit][] =1;
    }
    $sum_data =array();
    foreach ($count_array as $fruit=>$fruit_array){
        $sum_data[] = $fruit.  count($fruit_array);
    }
    $sum_data = implode(',',$sum_data);
    $return_data[]["job_name"] = $sum_data;

}</code>

Fehlerprüfung im Zusammenhang mit Eingabearrays wurde noch nicht verarbeitet

<code>function dealArr($arr=array()){
    foreach ($arr as $key => $value) {
        $a0[$key] = explode(',',$value['job_name']);//分割字符串
        $a1[$key] = array_count_values($a0[$key]);//统计个数
        $temp=array();
        foreach ($a1[$key] as $key2 => $value2) {
            $temp[$key2]=$key2.$value2;
        }
        $res[$key]['job_name']=implode(',',$temp);//字符串转数组
        
    } 
    return $res;
}</code>

<code>$arr[14]['job_name']="苹果,香蕉,苹果";
$arr[3]['job_name']="梨子,梨子,西红柿";
var_dump(dealArr($arr));
</code>

Deduplizierung von PHP-Array-Operationen T.T

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn