0

I have the code

foreach ($retval as $line) {  // process array line by line
    echo "$line \n";
}

and it gives me a nice array with output of

FieldType: Text 
FieldName: Job title 
FieldFlags: 0 
FieldValue: ICT Manager 
FieldJustification: Left
--- 
FieldType: Text 
FieldName: Hours Per Week 
FieldFlags: 0 
FieldValue: 35 
FieldJustification: Left 
--- 
FieldType: Text 
FieldName: Reporting To 
FieldFlags: 0 
FieldValue: Jerry Woolner 
FieldJustification: Left 
--- 
FieldType: Text 
FieldName: Main Duties/Repsonsibilities 
FieldFlags: 4096 
FieldValue: dfhg fdhg fgh fghfgh fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh 
FieldJustification: Left 

I now want to get this as a 2D array so that the output will be what i need which is

Array [0]
      array[0] = FieldType: Text 
      array[1] = FieldName: Job title 
      array[2] = FieldFlags: 0 
      array[3] = FieldValue: ICT Manager 
      array[4] = FieldJustification: Left 
      array[5] = --- 

Array [1]
      array[0] = FieldType: Text 
      array[1] = FieldName: Hours Per Week 
      array[2] = FieldFlags: 0 
      array[3] = FieldValue: 35 
      array[4] = FieldJustification: Left 
      array[5] = --- 

etc etc

how can i do this ?

current output vardump is

array(25) { [0]=> array(0) { } [1]=> string(3) "---" [2]=> string(15) "FieldType: Text" [3]=> string(20) "FieldName: Job title" [4]=> string(13) "FieldFlags: 0" [5]=> string(23) "FieldValue: ICT Manager" [6]=> string(24) "FieldJustification: Left" [7]=> string(3) "---" [8]=> string(15) "FieldType: Text" [9]=> string(25) "FieldName: Hours Per Week" [10]=> string(13) "FieldFlags: 0" [11]=> string(14) "FieldValue: 35" [12]=> string(24) "FieldJustification: Left" [13]=> string(3) "---" [14]=> string(15) "FieldType: Text" [15]=> string(23) "FieldName: Reporting To" [16]=> string(13) "FieldFlags: 0" [17]=> string(25) "FieldValue: Jerry Woolner" [18]=> string(24) "FieldJustification: Left" [19]=> string(3) "---" [20]=> string(15) "FieldType: Text" [21]=> string(39) "FieldName: Main Duties/Repsonsibilities" [22]=> string(16) "FieldFlags: 4096" [23]=> string(686) "FieldValue: dfhg fdhg fgh fghfgh fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh h fgh dfghdfghfdgh dfgh dfghfdgh gfhdfgh" [24]=> string(24) "FieldJustification: Left" }
1
  • What is the current output of: var_dump($retval); ? Commented Jul 7, 2015 at 10:32

1 Answer 1

1

This should work for you:

Just array_chunk() your array into chunks of 6 an done:

$chunked = array_chunk($retval, 6);
print_r($chunked);
Sign up to request clarification or add additional context in comments.

2 Comments

Thats great and pretty much works but sometimes it may have more than 6 fields. ideally i need it to chunk it by the --- field
@Lee Then use array_search() to search for --- take the (key+1) and then you have your chunk size

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.