2011-04-06 3 views
0

2 개의 배열을 가지고 있습니다. 배열 1은 학생수 (크기는 148)이고 두 번째 배열은 인턴십입니다 (크기는 106). 이제이 두 배열의 길이가 같아지기를 바랍니다. 제 질문은 PHP로 배열 인턴쉽에 빈 요소를 어떻게 추가 할 수 있습니까? 아니면 어떻게 배열 학생을 삭제할 수 있습니까?같은 길이의 배열

어쩌면 내가 왜 그게 내 목표인지 설명 할 수 있습니다. 나는 각 학생들에게 인턴쉽을 할당하는 일반적인 알고리즘을 구현한다. 이 두 배열의 길이가 같아야합니다.

위의 배열의 샘플을 포함 시켰습니다. 배열이 지정된 크기에 도달 할 때까지

배열 학생

array(148) { [0]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["value"]=> 
     string(6) "804868" 
    } 
    } 
    [1]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["value"]=> 
     string(6) "804869" 
    } 
    } 
    [2]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["value"]=> 
     string(6) "705169" 
    } 
    } 
    [3]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["value"]=> 
     string(6) "805148" 
    } 
    } 
    [4]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["value"]=> 
     string(6) "702342" 
    } 
    } 
    [5]=> 
    array(1) { 
    [0]=> 
    array(1) { 
     ["value"]=> 
     string(6) "803176" 
    } 
    } 

배열 인턴

enter code herearray(106) { [0]=> string(18) "Pcv (campus Aalst)" [1]=> string(53) "Mss (Privaatpraktijk kinesitherapie Walravens Marc)" [2]=> string(54) "Mss (Privaatpraktijk kinesitherapie Peeters Stefaan)" [3]=> string(35) "psychiatrie (campus Vercruysselaan)" [4]=> string(39) "interne geneeskunde (campus Loofstraat)" [5]=> string(40) "interne geneeskunde (campus Kennedylaan)" [6]=> string(29) "heelkunde (campus Loofstraat)" [7]=> string(30) "heelkunde (campus Kennedylaan)" [8]=> string(33) "heelkunde (campus Vercruysselaan)" [9]=> string(38) "logopedie (groepspraktijk Logomatopee)" [10]=> string(41) "logopedie (Koninklijk Instituut Spermali)" [11]=> string(34) "Fysieke activiteit (To Walk Again)" [12]=> string(53) "algemene en plastische heelkunde (AZ AZ Oudenaarde)" [13]=> string(38) "dermatologie (campus Maria Middelares)" [14]=> string(29) "NKO (campus Maria Middelares)" [15]=> string(38) "dermatologie (campus Maria Middelares)" [16]=> string(38) "Fysieke activiteit (Beweegkamp Vlabus)" [17]=> string(43) "Hoofdverpleegkundige (UZ UZ Gent Urologie)" [18]=> string(66) "Opleidingscoördinator (Onderwijsinstelling Arteveldehogeschool)" [19]=> string(90) "Verpleegkundig Specialist (UMC Universitair Medisch Centrum Universitair Medisch Centrum)" [20]=> string(31) "Mss (AZ Nikolaas campus Hamme)" [21]=> string(74) "Mss (Privaatpraktijk kinesitherapie Cuigniez Pascale PR Cuigniez Pascale)" [22]=> string(53) "Mss (Privaatpraktijk kinesitherapie Smesman Jeroen)" [23]=> string(103) "Verpleegkundig Specialist (AZ Algemeen Stedelijk Ziekenhuis Aalst Algemeen Stedelijk Ziekenhuis Aalst)" [24]=> string(33) "Pcv (AZ Jan Yperman Ziekenhuis)" [25]=> string(76) "Mss (AZ Gezondheidszorg Oostkust campus Blankenberge - AZ Koningin Fabiola)" [26]=> string(81) "Mss (AZ Gezondheidszorg Oostkust campus Knokke - AZ Onze-Lieve-Vrouw Ter Linden)" 
+0

배열에 항목을 추가하거나 삭제하는 데 기술적 인 어려움이 없습니다. 삭제해야 할 항목을 결정하는 데 필요한 규칙을 정확하게 적용 할 수 있으며 추가해야 할 항목과 무엇을 추가해야합니까? – Skrol29

+0

두 배열의 길이가 같은 이유는 무엇입니까? – Archimedix

+0

코딩 솔루션의 일부로 빈 요소를 추가해야한다고 생각한다는 사실 때문에 데이터를 올바르게 구성하지 못했다고합니다. 귀하의 데이터베이스가 어떻게 생겼는지는 모르겠지만 장학금 테이블, 학생들을위한 테이블 및 두 테이블을 연결하는 테이블이 있어야합니다. 이렇게하면 정규화 된 세 번째 정규화 된 데이터를 가질 수 있습니다. 물론 아래에 설명 된대로 배열을 확장 할 수있는 방법이 있지만 실제로 이런 상황에서 가장 좋은 방법은 드로잉 보드로 돌아가서 처음부터 좀 더 나은 것을 생각하는 것입니다. – mountaingirl

답변

4

null 추가됩니다 주어진 길이 array_pad()

$array = array_pad($array, $size, null); 

에 배열을 확장합니다.

주어진 크기의 일부 요소를 자르려면 array_slice()0을 시작 오프셋으로 사용하십시오.

$array = array_slice($array, 0, $size); 
+0

답장을 보내 주셔서 감사합니다. – user001

관련 문제