2016-08-22 2 views
0

다음 형식의 배열이 있습니다.PHP에서 키/값을 교환하는 방법은 무엇입니까?

[records] => Array 
    (
     [7] => Array 
      (
       [available] => No 
      ) 
     [8] => Array 
      (
       [available] => No 
      )    
     [9] => Array 
      (
       [available] => No 
      ) 
     [11] => Array 
      (
       [available] => Yes 
      ) 

    ) 

은 내가 배열 키 (7,8,9,11)으로 예/아니오 값을 교환하지해야합니다. 일반적으로 루프가 트릭을 수행합니다. 그러나 추가 루핑을위한 계획을 취소 할 수 있도록 루핑 이외의 다른 방법도 사용할 수 있는지 알고 싶습니다.

+0

루프를 사용하여 잘못된 무엇? – iyop45

+0

'array_fill_keys'와 같은 뜻입니까? 어쨌든 루프를 사용합니다. 그래서 이득이 없습니다. 어쩌면 게으른 평가가있는 함수 언어에서와 같은 의미 일 수 있습니다. – RoughTomato

+0

정확히 예상되는 출력은 무엇입니까? –

답변

1

아래 코드를 사용해보세요.

$array=Array 
    (
     [7] => Array 
      (
       [available] => No 
      ) 
     [8] => Array 
      (
       [available] => No 
      )    
     [9] => Array 
      (
       [available] => No 
      ) 
     [11] => Array 
      (
       [available] => Yes 
      ) 

    ) 
array_walk($array, function(&$value) { 
    $value['available'] = "Yes"; 
}); 

참조 http://php.net/manual/en/function.array-walk.php

+0

귀하는 신고서를 잊어 버렸습니다. 리턴 값은 $ value [ 'available'] == "Yes"; – j4k3

+1

'print_r ($ array)'을 시도해 볼 필요가 없습니다. –

+0

아, 네 말이 맞아. array_walk는 참조로 전달됩니다. – j4k3