string(5) "60,82" 단, 데이터 처리에 필요한 내용은 array(1){ {code...} } 이어야 합니다..."/> string(5) "60,82" 단, 데이터 처리에 필요한 내용은 array(1){ {code...} } 이어야 합니다...">

 >  기사  >  백엔드 개발  >  PHP 배열 연결 및 재구성

PHP 배열 연결 및 재구성

WBOY
WBOY원래의
2016-08-23 09:17:463956검색

현재 코드는 다음과 같습니다
array(6) {
[0] => string(5) "58,86"
[1] => ,78"
[2] => 문자열(5) "65,78"
[3] => 문자열(5) "60,82"

단, 데이터 처리에 필요한 내용은
array(1){

이어야 합니다.
<code>[0] => 58,68,65,60
[1] => 86,78,78,82</code>

}

데이터 처리 방법을 알려주세요

생각해보니 먼저 순회한 뒤 값을 쪼개서 접합하자는 생각이었는데 최종 조립할 때 빈 키가 있었네요. 🎜>array(6) {
[0] => string(5) "58,86"
[1] => string(5) "68,78"
[2] = > 문자열(5) "65,78"
[3] => 문자열(5) "60,82"
[4] => 문자열(3) "094"
[5 ] => 문자열(2) "40"
}、

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

<code>    $a[''] = $a[$key] = explode(',',$val);
   }
   </code>
이후에는

array(7) {
[0] => array(2) {
을 얻습니다.

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

[""] => 배열(1) {

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

[1] => 배열(2) {

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

[2] => 배열(2) {

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

[3] => 배열(2) {

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

[4] => 배열(1) {

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

[5] => 배열(1) {

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

}
그런 다음 동일한 키를 새 배열로 조합합니다. 내 PHP 버전이 5.4이고 array_column을 사용할 수 없기 때문에 공개 메서드 i_array_column()을 작성했습니다.

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

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

배열 1개 가져오기

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"] => 배열(7) {

<code>[0] => string(2) "86"
[""] => NULL
[1] => string(2) "78"
[2] => string(2) "78"
[3] => string(2) "82"
[4] => NULL
[5] => NULL</code>
}

}
highcharts에는 json 형식이 필요하므로 json 형식으로 변환
dump(json_encode($b));,
정확하게 변환한 후의 결과는
string(146) "입니다. { "데이터1":{"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}}"

왜 빈 배열이 있는지 모르겠습니다

답글 내용:

현재 코드는 다음과 같습니다

array(6) {
[0] => string(5) "58,86"
[1] => ,78"
[2] => 문자열(5) "65,78"
[3] => 문자열(5) "60,82"

단, 데이터 처리에 필요한 내용은

array(1){
이어야 합니다.

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

데이터 처리 방법을 알려주세요

생각해보니 먼저 순회한 뒤 값을 쪼개고 이어붙이는 게 아이디어였는데, 최종 조립할 때 빈 열쇠가 있었나 봐요. 🎜>array(6) {

[0] => string(5) "58,86"
[1] => string(5) "68,78"
[2] = > 문자열(5) "65,78"
[3] => 문자열(5) "60,82"
[4] => 문자열(3) "094"
[5 ] => 문자열(2) "40"
}、

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

이후에는
<code>    $a[''] = $a[$key] = explode(',',$val);
   }
   </code>
array(7) {

[0] => array(2) {
을 얻습니다.

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


}
<code>[0] => string(2) "40"</code>
[1] => 배열(2) {


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


}
<code>[0] => string(2) "65"
[1] => string(2) "78"</code>
[3] => 배열(2) {


}
<code>[0] => string(2) "60"
[1] => string(2) "82"</code>
[4] => 배열(1) {


}
<code>[0] => string(3) "094"</code>
[5] => 배열(1) {


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

그런 다음 동일한 키를 새 배열로 조합합니다. 내 PHP 버전이 5.4이고 array_column을 사용할 수 없기 때문에 공개 메서드 i_array_column()
을 작성했습니다.
$b['data1'] = i_array_column($a,'0');

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


배열 1개 가져오기

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"] => 배열(7) {


}
<code>[0] => string(2) "86"
[""] => NULL
[1] => string(2) "78"
[2] => string(2) "78"
[3] => string(2) "82"
[4] => NULL
[5] => NULL</code>
}

highcharts에는 json 형식이 필요하므로 json 형식으로 변환
dump(json_encode($b));,
정확하게 변환한 후의 결과는
string(146) "입니다. { "데이터1":{"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 class="php"><?php 
$arr = ["58,86,1,18",
"68,78,2,17",
"65,78,3,17",
"60,82,4,19",
"4,5,6,18"];


array_walk($arr, function(&$item) {
    $item = explode(',', $item);
});

$new_arr = [];
$length = count($arr);
for ($i = 0; $i < $length; $i++) {
    $length1 = count($arr[$i]);
    for ($j = 0; $j < $length1; $j++) {
        $new_arr[$j][$i] = $arr[$i][$j];
    }
}

array_walk($new_arr, function(&$item) {
    $item = join(',', $item);
});

print_r($new_arr);</code>

분석 후 상황은 배열의 문자열을 분할하는 것입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.