2015-01-09 4 views
1
array(22) { 
    [0]=> 
    array(5) { 
    ["name"]=> 
    string(33) "White shirt - blue logo" 
    ["price"]=> 
    string(5) "10.00" 
    ["img"]=> 
    string(5) "2.jpg" 
    ["text"]=> 
    string(865) "Lorem ipsum dolor sit amet, consectetur adipiscing elit." 
    ["url"]=> 
    string(26) "voltarity-white-red-shirt2" 
    } 
another array... 
another array... 
} 

[ "url"]에서 배열 키 [0]을 내 값으로 변경하고 싶습니다. 가능합니까? 그 배열은 mysql 데이터베이스에서 만들어집니다.배열 키를 다른 키의 값으로 바꾸려면 어떻게해야합니까?

답변

1

'url'을 키로 사용하여 새로운 연관 배열을 만듭니다. 당신은 'URL'에 대해 동일한 값으로 2 개 행이있는 경우

$newArray = []; 
foreach ($oldArray as $row) { 
    $newArray[$row['url']] = $row; 
} 

물론, 두 번째 행은 첫 번째 행을 덮어 쓰게됩니다. 'url'과 같은 값을 여러 행에 허용해야하는 경우 대신이 루프를 사용할 수 있습니다. - 당신은이 multidim 배열을 처리 할 준비를해야하지만`$ newArray [$ 행] [ 'URL'] [] = $ row`을 : 덮어 쓰기가 발생하지 않도록

$newArray = []; 
foreach ($oldArray as $row) { 
    if (isset($newArray[$row['url']]) { 
     if (is_array($newArray[$row['url']])) { 
      $newArray[$row['url']][] = $row; 
     } else { 
      $newArray[$row['url']] = array($newArray[$row['url']], $row); 
     } 
    } else { 
     $newArray[$row['url']] = $row; 
    } 
} 
+1

이를 확장 할 수 . –

관련 문제