2017-11-01 1 views
-2

에 equals와 배열을 변환 나는연관 배열

array(
    "lat = -0.47023808202763651", 
    "lon = -163.04466494518647", 
    "alt = 4263.5330573538085", 
    "hgt = 0.382990122", 
    "nrm = 0.0816367865,0.996595144,-0.0115590692", 
    "rot = 0.34263891,-0.470143765,0.647551596,0.492179215", 
    "CoM = 0,0,0", 
    "stg = 0" 
) 

어떻게이 키가 동등하기 전에 무엇을 어디에 연관 배열에 PHP에서 다음과 같은 배열을 변환 할 수 있고 값은 등호 후 무엇 있습니다

... Explode a string to associative array을하지만이 방법을 사용하여 변환 할 수 없었다

모든 팁 :

array(
    "lat" => "-0.47023808202763651", 
    "lon" => "-163.04466494518647", 
    "alt" => "4263.5330573538085", 
    "hgt" => "0.382990122", 
    "nrm" => "0.0816367865,0.996595144,-0.0115590692", 
    "rot" => "0.34263891,-0.470143765,0.647551596,0.492179215", 
    "CoM" => "0,0,0", 
    "stg" => "0" 
) 

는 여기 배열을 걸어 본 적 있어요? 샘플 코드?

+3

'foreach' 루프,'폭발 ='두 부분으로 새로운 배열을 만드시겠습니까? –

+0

배열 워킹 예제가 작동하지 않는 이유는 무엇입니까? 당신이 그것을 어떻게 할 것인지 꽤 많이. 단지 부적당 한 공백이 당신의 키로 끝나지 않도록 당신의 값을 trim()하십시오. – IncredibleHat

+1

_ "이 방법으로 변환 할 수 없습니다."_ - 시도한 것과 일어난 일을 보여주고 거기에서 가져갈 수 있습니다. –

답변

3

당신은 루프에 배열을 필요로하고 폭발

$new_array = array(); 
foreach($array as $value){ 
    list($key,$value)=explode('=',$value); 
    $new_array[trim($key)] = trim($value); 
} 
print_r($new_array); 

아웃 키와 값을 가진 새로운 배열을 만들 넣어 :

Array 
(
    [lat] => -0.47023808202763651 
    [lon] => -163.04466494518647 
    [alt] => 4263.5330573538085 
    [hgt] => 0.382990122 
    [nrm] => 0.0816367865,0.996595144,-0.0115590692 
    [rot] => 0.34263891,-0.470143765,0.647551596,0.492179215 
    [CoM] => 0,0,0 
    [stg] => 0 
) 
0
 function splitStringsToArray($array) { 
      $need = []; 
      foreach ($array as $v) { 
       list($key, $value) = explode(' = ', $v); 
       $need[$key] = $value; 
      } 

      return $need; 
     } 

     $arrayYouHave = array(
      "lat = -0.47023808202763651", 
      "lon = -163.04466494518647", 
      "alt = 4263.5330573538085", 
      "hgt = 0.382990122", 
      "nrm = 0.0816367865,0.996595144,-0.0115590692", 
      "rot = 0.34263891,-0.470143765,0.647551596,0.492179215", 
      "CoM = 0,0,0", 
      "stg = 0" 
     ); 

     $arrayYouNeed = splitStringsToArray($arrayYouHave); 

     print_r($arrayYouHave, $arrayYouNeed);