Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Given your input in <code>$xs</code>, the following:</p> <pre><code>$ret = array_reduce($xs, function($acc,$x) { $acc[$x['lead_id']][$x['field_number']] = $x['value']; return $acc; }, array()); </code></pre> <p>produces the output of:</p> <pre><code>array ( 2 =&gt; array ( 1 =&gt; '37', 2 =&gt; '051000549', 3 =&gt; '1050000605321', 4 =&gt; '1050000605321', 15 =&gt; '250.00', '6.3' =&gt; 'John', '6.6' =&gt; 'Doe', 7 =&gt; 'Microscope', '8.1' =&gt; '1222 McDowell Ave NE', '8.3' =&gt; 'Roanoke', '8.4' =&gt; 'Virginia', '8.5' =&gt; '24012', '8.6' =&gt; 'United States', 9 =&gt; '(540)265-3216', 10 =&gt; 'marty@microscope.com', 11 =&gt; 'John Doe', 16 =&gt; '987654321', '14.1' =&gt; 'Authorized', ), 3 =&gt; array ( 1 =&gt; '27', 2 =&gt; '987654321', 3 =&gt; '1050000123456', 4 =&gt; '1050000123456', 15 =&gt; '350.00', '6.3' =&gt; 'Jane', '6.6' =&gt; 'Doe', 7 =&gt; 'Acme Inc', '8.1' =&gt; '6724 Laban Rd', '8.3' =&gt; 'Roanoke', '8.4' =&gt; 'Virginia', '8.5' =&gt; '24019', '8.6' =&gt; 'United States', 9 =&gt; '(540)362-2773', 10 =&gt; 'm@seoserpent.com', 11 =&gt; 'Acme Inc.', 16 =&gt; '987654321', '14.1' =&gt; 'Authorized', ), ) </code></pre> <p><em>Update:</em> The input I used is:</p> <pre><code>$xs = array ( 0 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '1', 'value' =&gt; '37', ), 1 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '2', 'value' =&gt; '051000549', ), 2 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '3', 'value' =&gt; '1050000605321', ), 3 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '4', 'value' =&gt; '1050000605321', ), 4 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '15', 'value' =&gt; '250.00', ), 5 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '6.3', 'value' =&gt; 'John', ), 6 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '6.6', 'value' =&gt; 'Doe', ), 7 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '7', 'value' =&gt; 'Microscope', ), 8 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '8.1', 'value' =&gt; '1222 McDowell Ave NE', ), 9 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '8.3', 'value' =&gt; 'Roanoke', ), 10 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '8.4', 'value' =&gt; 'Virginia', ), 11 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '8.5', 'value' =&gt; '24012', ), 12 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '8.6', 'value' =&gt; 'United States', ), 13 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '9', 'value' =&gt; '(540)265-3216', ), 14 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '10', 'value' =&gt; 'marty@microscope.com', ), 15 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '11', 'value' =&gt; 'John Doe', ), 16 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '16', 'value' =&gt; '987654321', ), 17 =&gt; array ( 'lead_id' =&gt; '2', 'field_number' =&gt; '14.1', 'value' =&gt; 'Authorized', ), 18 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '1', 'value' =&gt; '27', ), 19 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '2', 'value' =&gt; '987654321', ), 20 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '3', 'value' =&gt; '1050000123456', ), 21 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '4', 'value' =&gt; '1050000123456', ), 22 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '15', 'value' =&gt; '350.00', ), 23 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '6.3', 'value' =&gt; 'Jane', ), 24 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '6.6', 'value' =&gt; 'Doe', ), 25 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '7', 'value' =&gt; 'Acme Inc', ), 26 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '8.1', 'value' =&gt; '6724 Laban Rd', ), 27 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '8.3', 'value' =&gt; 'Roanoke', ), 28 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '8.4', 'value' =&gt; 'Virginia', ), 29 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '8.5', 'value' =&gt; '24019', ), 30 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '8.6', 'value' =&gt; 'United States', ), 31 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '9', 'value' =&gt; '(540)362-2773', ), 32 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '10', 'value' =&gt; 'm@seoserpent.com', ), 33 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '11', 'value' =&gt; 'Acme Inc.', ), 34 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '16', 'value' =&gt; '987654321', ), 35 =&gt; array ( 'lead_id' =&gt; '3', 'field_number' =&gt; '14.1', 'value' =&gt; 'Authorized', ), ); </code></pre> <p>Also, you may find a <code>foreach</code> or <code>while</code> loop more readable than <code>array_reduce</code>:</p> <pre><code>$ret = array(); foreach ($xs as $x) { $ret[$x['lead_id']][$x['field_number']] = $x['value']; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload