2014-02-17 4 views
1

I 다음과 같습니다 배열이 있습니다첫 번째 단어

: 당신이 첫 번째 배열의 키가 20에서 볼 수 있듯이

Array 
(
    [20] => ADEP EGKK 

    [21] => ADES EGLL 

    [22] => AOARCID ABC 

    [23] => AOOPR ABC 

    [24] => ARCID ABC123 

    [25] => ARCTYP MD11 

하는 최초의 19 때문에 내가는 preg_match를 사용하여 설정 해제 내가 처음 단어를 이동하고자하는, 그래서 기본적으로

Array 
(
    [ADEP] => EGKK 

    [ADES] => EGLL 

    [AOARCID] => ABC 

    [AOOPR] => ABC 

    [ARCID] => ABC123 

    [ARCTYP] => MD11 

: 내가 같이 내 배열을 할 방법 이제

if (isset($_POST['plan'])) 
    $fplparts = explode("-", $fpl); 
     $pattern = "/FAC|TITLE|BEGIN|END|PT|PTID|ATSRT|ICAOCONTENT/i"; 

    foreach($fplparts as $key => $value) { 
    if (preg_match($pattern, $value)){ 
     unset($fplparts[$key]); 
    } 
    } 
    print_r($fplparts); 

이있다 각 값을 키로 만듭니다.

이것에 대해 이동하는 가장 좋은 방법은 무엇입니까?

고맙습니다.

$newArray = array(); 

foreach ($oldArray as $item) 
{ 
    list($key, $value) = explode(' ', $item, 2); 
    $newArray[$key] = $value; 
} 

을하지만 몇 가지 제한 그렇지 않으면 당신은 당신을 다시 것, 예를 들어 당신이 (당신이 키로 원하는) 첫 번째 문자열은 고유 것이라는 점을 확실 할 필요가있다 :

답변

1

당신은 이런 식으로 작업을 수행 할 수 있습니다 데이터. explode()에서 세 번째 매개 변수 (2가) ADEP EGKK EGKK EGKK가 발생합니다 있는지 확인하는 데 사용됩니다

[ADEP] => EGKK EGKK EGKK 
+0

는 당신의 도움을 주셔서 감사합니다, 그것은 매우 유용합니다! 예를 들어, 고유 한 문자열로만 작동한다고 했으므로 여러 ADEP 값을 가질 수 있습니다. 어떻게해야합니까? 예를 가지고하는 정도 : [ADEP] => EGKK [ADEP] => EGLL [ADEP] = 당신이 그래서> EDDN – olivermbs

+0

글쎄, 당신은, 동일한 키를 가진 여러 개의 배열 항목을 가질 수 없습니다, 예를 들어 임의의 후위 ('ADEP_2567874'), 카운터 ('ADEP','ADEP2','ADEP3' ...) 반복 원고 키 ('ADEP','ADEPADEP','ADEPADEPADEP')를 추가하십시오. –

관련 문제