이제 2차원 배열에 1,000개가 넘는 데이터 조각이 있고 각 데이터 조각의 필드가 중복되었습니다. 이제 빨간색 상자에 설명된 3개의 대상 필드만 필요합니다. 좋습니다. 다른 것은 필요하지 않습니다.
이제 이를 수행하려면 이중 foreach 루프를 사용해야 한다는 것을 알고 있지만 답변을 드릴 수 없습니다. 감사합니다. 당신
사진은 다음과 같습니다
이제 2차원 배열에 1,000개가 넘는 데이터 조각이 있고 각 데이터 조각의 필드가 중복되었습니다. 이제 빨간색 상자에 설명된 3개의 대상 필드만 필요합니다. 좋습니다. 다른 것은 필요하지 않습니다.
이제 이를 수행하려면 이중 foreach 루프를 사용해야 한다는 것을 알고 있지만 답변을 드릴 수 없습니다. 감사합니다. 당신
사진은 다음과 같습니다
두 자리 배열에서 원하는 필드를 추출하시겠습니까? 두 번 할 필요는 없잖아요foreach
아
<code class="php"><?php //---构造测试数据 --- $arry = []; for ($i=0; $i < 1000; $i++) { $arry[] = [ 'platform_good_id' => mt_rand(1, 2000), 'good_name' => 'goodname' . $i, 'xxxxxxx' => 'xxxxx', 'wadadad' => 'adwawdadwad', 'remake' => '' ]; } //---构造测试数据 --- $data = []; foreach ($arry as $key => $value) { $data[] = [ 'platform_good_id' => $value['platform_good_id'], 'good_name' => $value['good_name'], 'remake' => $value['remake'], ]; } var_dump($data); </code>
다음과 같습니다.
<code><!DOCTYPE html> <html> <body> <?php $arr = array( "a"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"), "b"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"), "c"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"), "d"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e"), "e"=>array("a"=>"a","b"=>"b","c"=>"c","d"=>"d","e"=>"e")); $result = array(); foreach ($arr as $k => $v){ $result[$k] = array(); foreach($v as $key => $value){ if($key === "b" || $key === "d" || $key === "e"){ $result[$k][$key] = $value; } } } print_r($arr); print("<br/>"); print_r($result); ?> </body> </html></code>
위 코드는 키 값이 b d e
인 요소를 추출한 후 새로운 배열을 구성합니다.