string(5) "60,82" Der für die Datenverarbeitung erforderliche Inhalt sollte jedoch array(1){ {code...} } sein. Bitte..."/> string(5) "60,82" Der für die Datenverarbeitung erforderliche Inhalt sollte jedoch array(1){ {code...} } sein. Bitte...">

Heim >Backend-Entwicklung >PHP-Tutorial >Verkettung und Reorganisation von PHP-Arrays

Verkettung und Reorganisation von PHP-Arrays

WBOY
WBOYOriginal
2016-08-23 09:17:464001Durchsuche

Der aktuelle Code sieht so aus
array(6) {
[0] => string(5) "58,86"
[1] => string(5) "68 ,78"
[2] => string(5) "65,78"
[3] => string(5) "60,82"

Aber der für die Datenverarbeitung erforderliche Inhalt sollte
array(1){

sein
<code>[0] => 58,68,65,60
[1] => 86,78,78,82</code>

}

Bitte sagen Sie mir, wie ich die Daten verarbeiten soll

Nachdem ich darüber nachgedacht hatte, bestand die Idee darin, die Werte zuerst zu durchqueren und sie dann zusammenzufügen. Bei der Endmontage war jedoch kein Schlüssel vorhanden
array(6) {
[0] => string(5) "58,86"
[1] => string(5) "68,78"
[2] = > string(5) "65,78"
[3] => string(5) "60,82"
[4] => string(3) "094"
[5 ] => string(2) "40"
}、

foreach($lsj['data'] as $key=>$val){

<code>    $a[''] = $a[$key] = explode(',',$val);
   }
   </code>
Nach

erhalten wir
array(7) {
[0] => array(2) {

<code>[0] => string(2) "58"
[1] => string(2) "86"</code>

}
[""] => array(1) {

<code>[0] => string(2) "40"</code>

}
[1] => array(2) {

<code>[0] => string(2) "68"
[1] => string(2) "78"</code>

}
[2] => array(2) {

<code>[0] => string(2) "65"
[1] => string(2) "78"</code>

}
[3] => array(2) {

<code>[0] => string(2) "60"
[1] => string(2) "82"</code>

}
[4] => array(1) {

<code>[0] => string(3) "094"</code>

}
[5] => array(1) {

<code>[0] => string(2) "40"</code>

🎜>🎜>Fügen Sie dann denselben Schlüssel zu einem neuen Array zusammen. Da meine PHP-Version 5.4 ist und ich array_column nicht verwenden kann, habe ich eine öffentliche Methode i_array_column() geschrieben

$b['data1'] = i_array_column($a,'0');

$b['data2'] = i_array_column($a,'1');


1 Array abrufen

array(2) {

["data1"] => array(7) {

}
<code>[0] => string(2) "58"
[""] => string(2) "40"
[1] => string(2) "68"
[2] => string(2) "65"
[3] => string(2) "60"
[4] => string(3) "094"
[5] => string(2) "40"</code>
["data2"] => array(7) {


🎜>🎜>Da Highcharts das JSON-Format erfordert, konvertieren Sie das JSON-Format
<code>[0] => string(2) "86"
[""] => NULL
[1] => string(2) "78"
[2] => string(2) "78"
[3] => string(2) "82"
[4] => NULL
[5] => NULL</code>
dump(json_encode($b));,

Das Ergebnis nach genauer Konvertierung ist
string(146) " { "data1":{"0":58,::40,1:68,2:65,3:60,4:: 094 ","5":"40"},"data2":{"0":86",":null,"1":78",2":78",3": „ 82“, „4“:null, „5“:null}}“

Ich weiß einfach nicht, warum es ein leeres Array gibt

Antwortinhalt:

Der aktuelle Code sieht so ausarray(6) {

[0] => string(5) "58,86"

[1] => ,78"

[2] => string(5) "65,78"
[3] => string(5) "60,82"

Aber der für die Datenverarbeitung erforderliche Inhalt sollte
array(1){
sein

}

Bitte sagen Sie mir, wie ich die Daten verarbeiten soll
<code>[0] => 58,68,65,60
[1] => 86,78,78,82</code>

Nachdem ich darüber nachgedacht hatte, bestand die Idee darin, die Werte zuerst zu durchqueren und sie dann zusammenzufügen. Bei der Endmontage war jedoch kein Schlüssel vorhanden

array(6) {

[0] => string(5) "58,86"

[1] => string(5) "68,78"

[2] = > string(5) "65,78"
[3] => string(5) "60,82"
[4] => string(3) "094"
[5 ] => string(2) "40"
}、

foreach($lsj['data'] as $key=>$val){

Nach

erhalten wir

array(7) {

[0] => array(2) {
<code>    $a[''] = $a[$key] = explode(',',$val);
   }
   </code>


}
[""] => array(1) {

<code>[0] => string(2) "58"
[1] => string(2) "86"</code>

}
[1] => array(2) {

<code>[0] => string(2) "40"</code>

}
[2] => array(2) {

<code>[0] => string(2) "68"
[1] => string(2) "78"</code>

}
[3] => array(2) {

<code>[0] => string(2) "65"
[1] => string(2) "78"</code>

}
[4] => array(1) {

<code>[0] => string(2) "60"
[1] => string(2) "82"</code>

}
[5] => array(1) {

<code>[0] => string(3) "094"</code>

🎜>🎜>Fügen Sie dann denselben Schlüssel zu einem neuen Array zusammen. Da meine PHP-Version 5.4 ist und ich array_column nicht verwenden kann, habe ich eine öffentliche Methode i_array_column() geschrieben

$b['data1'] = i_array_column($a,'0');
<code>[0] => string(2) "40"</code>
$b['data2'] = i_array_column($a,'1');


1 Array abrufen
array(2) {

["data1"] => array(7) {


}

["data2"] => array(7) {

🎜>🎜>Da Highcharts das JSON-Format erfordert, konvertieren Sie das JSON-Format
<code>[0] => string(2) "58"
[""] => string(2) "40"
[1] => string(2) "68"
[2] => string(2) "65"
[3] => string(2) "60"
[4] => string(3) "094"
[5] => string(2) "40"</code>
dump(json_encode($b));,

Das Ergebnis nach genauer Konvertierung ist
string(146) " { "data1":{"0":58,::40,1:68,2:65,3:60,4:: 094 ","5":"40"},"data2":{"0":86",":null,"1":78",2":78",3": „ 82“, „4“:null, „5“:null}}“

<code>[0] => string(2) "86"
[""] => NULL
[1] => string(2) "78"
[2] => string(2) "78"
[3] => string(2) "82"
[4] => NULL
[5] => NULL</code>
Ich weiß einfach nicht, warum es ein leeres Array gibt




Matrixtransponierung, die obige Methode kann auf mehrdimensionale Matrizen erweitert werden

Schreiben Sie eine, die nur Ihre Situation behandelt. Nach der Analyse besteht Ihre Situation darin, die Zeichenfolgen im Array aufzuteilen

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