2016-10-31 3 views
0

내가 배열을 조작 할 배열을 조작하고 내가 조금 진행하고 내가 올바른 방향PHP - 배열입니다

이 지적 될 수있다 희망하는 방법에 붙어있어 내가 현재 가지고 :

array(10) { 
["gdlr-room-id"]=> string(4) "3595" 
["gdlr-check-in"]=> string(10) "2016-10-31" 
["gdlr-night"]=> string(1) "1" 
["gdlr-check-out"]=> string(10) "2016-11-01" 
["gdlr-room-number"]=> string(1) "1" 
["gdlr-adult-number"]=> string(1) "1" 
["gdlr-children-number"]=> string(1) "1" 
["gdlr-resident"]=> string(8) "resident" 
["service"]=> string(19) "5061,5060" 
["service-amount"]=> string(7) "1,1" } 

그리고 이것은 내가 달성하고자하는 것입니다 :

array(10) { 
["gdlr-room-id"]=> array(1) { [0]=> string(4) "3595" } 
["gdlr-check-in"]=> string(10) "2016-10-31" 
["gdlr-night"]=> string(1) "1" 
["gdlr-check-out"]=> string(10) "2016-11-01" 
["gdlr-room-number"]=> string(1) "1" 
["gdlr-adult-number"]=> array(1) { [0]=> string(1) "1" } 
["gdlr-children-number"]=> array(1) { [0]=> string(1) "1" } 
["gdlr-resident"]=> string(8) "resident" 
["service"]=> array(2) { [0]=> string(4) "5061" [1]=> string(4) "5060" } 
["service-amount"]=> array(2) { [0]=> string(1) "1" [1]=> string(1) "1" } 
} 

내가 좀 더 설명 할 수있는 경우 : 우리가 예를 들어 키 gdlr 객실-ID을하면 내 현재의 배열 R을 키 값 쌍을 ["gdlr-room-id"]=> string(4) "3595"과 같이 나타냅니다. 원하는 결과는 그림과 같이 다른 배열 내부에 있어야합니다. ["gdlr-room-id"]=> array(1) { [0]=> string(4) "3595" }. 이것은 모든 키 => 값 쌍에 해당하는 것이 아니라 일부만 남게되므로 일부만 선택합니다. 예 : ["gdlr-check-in"]=> string(10) "2016-10-31"은 그대로 0301입니다.

요약하면, 배열 내에서 값을 가져 와서 위에서 설명한대로 일부 값을 다른 배열 안에 포함시키는 방법은 무엇입니까? 그리고 우리가 그것에있는 동안, 나는 이걸 어떻게 ["service"]=> string(19) "5061,5060"에 넣을 수 있는지에 대한 어떤 제안도 : ["service"]=> array(2) { [0]=> string(4) "5061" [1]=> string(4) "5060" }? 감사

+0

독자가 모든 것을보기 위해 오른쪽으로 스크롤하도록 강요하는 수평선으로 연장되는 단일 라인이 아닌, 독자가 친숙한 방식으로 질문을 편집하고 배열을 작성해야합니다. – obe

+0

Ok. 감사. 편집 된 – suo

답변

3

당신은 예를 들어, 값이 배열로 확장되어야하는 키 목록이있는 경우 키가있는 경우

$expand_keys = array('gdlr-room-id', 'service'); 

과 여러 값을 쉼표로 구분하는, 당신은 배열로 원래 배열의 각 키 - 값 쌍을 확인하고 그 값을 폭발

foreach ($array as $key => $value) { 
    if (in_array($key, $expand_keys)) { 
    $array[$key] = explode(',', $value); 
    } 
} 

이 같은 뭔가를 할 수 $ expand_keys 배열에 있습니다.

2

할 수 있습니다 요소를 통해 루프와 같은 새로운 배열에 값을 폭발 :

<?php 
$array = array("gdlr-room-id" => "3595", 
      "service" => "5061,5060", 
      "service-amount" => "1,1" 
     ); 

$copied_array = array(); 

foreach($array as $key => $value){ 
    $copied_array[$key] = explode(',', $value); 
} 

print_r($copied_array); 
관련 문제