<?php
(
0 => 'Name',
1 => 'MCR',
2 => 'MCD',
3 => 'COM',
4 => 'INV',
5 => 'IDM',
6 => 'PPO',
7 => 'HKD',
8 => 'ALL',
9 => 'POS',
10 => 'MCD-SP',
11 => 'MCD-BH',
12 => 'MCD-CL',
13 => 'MCD-CO',
14 => 'MCR-SP',
15 => 'MCR-PO'
);
0 => 'Primero',
1 => 19683.43,
2 => NULL,
3 => 3757.38,
4 => NULL,
5 => NULL,
6 => NULL,
7 => NULL,
8 => NULL,
9 => NULL,
10 => NULL,
11 => NULL,
12 => NULL,
13 => NULL,
14 => NULL,
15 => NULL
),
(
0 => 'Segundo',
1 => 15340.5767,
2 => NULL,
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => NULL,
8 => NULL,
9 => NULL,
10 => NULL,
11 => NULL,
12 => NULL,
13 => NULL,
14 => NULL,
15 => NULL
),
(
0 => 'Tercero',
1 => NULL,
2 => NULL,
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => NULL,
8 => NULL,
9 => NULL,
10 => 4969.65,
11 => NULL,
12 => NULL,
13 => NULL,
14 => 23695.39,
15 => NULL
),
(
0 => 'Cuarto',
1 => NULL,
2 => NULL,
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => NULL,
8 => NULL,
9 => NULL,
10 => NULL,
11 => 45974.86,
12 => NULL,
13 => NULL,
14 => NULL,
15 => NULL
),
(
0 => 'Quinto',
1 => NULL,
2 => NULL,
3 => NULL,
4 => NULL,
5 => NULL,
6 => NULL,
7 => NULL,
8 => NULL,
9 => NULL,
10 => 1405.8,
11 => 39244,
12 => NULL,
13 => NULL,
14 => NULL,
15 => NULL
)
);
$qty_col = count($cols) - 1; $qty_rows = count($rows); //echo $qty_rows;
$ifScript = '';
for ($a = 1; $a <= $qty_col; $a++) {
$unsetScript = 'unset(';
$ifScript .='if(';
for ($b = 0; $b <= $qty_rows; $b++) {
$ifScript .= 'empty($rows[' . $b . '][' . $a . '])';
$unsetScript .='$rows[' . $b . '][' . $a . ']';
if ($b == $qty_rows) {
$ifScript .='){';
//$ifScript .='){<br>';
$unsetScript .=', $cols[' . $a . ']);';
} else {
$ifScript .= ' && ';
$unsetScript .=', ';
}
}
$ifScript .= $unsetScript . '}';
//$ifScript .= $unsetScript . '<br>}<br>';
}
//echo $ifScript;
foreach ($cols as $key => $value) {
'id' => NULL,
'label' => $value
);
$type = ($key == 0) ? 'string' : 'number';
$cols[$key]['type'] = $type;
}
foreach ($rows as $key1 => $value1) {
foreach ($value1 as $key2 => $value2) {
$val = (empty($value2)) ?
'0.00' : $value2; 'v' => $val,
'f' => $format
);
}
'c' => $value1
);
}
'cols' => $cols,
'rows' => $rows
);
echo '<pre>';
echo '</pre>';
PD9waHAKJGNvbHMgPSBBcnJheQogICAgKAogICAgMCA9PiAnTmFtZScsCiAgICAxID0+ICdNQ1InLAogICAgMiA9PiAnTUNEJywKICAgIDMgPT4gJ0NPTScsCiAgICA0ID0+ICdJTlYnLAogICAgNSA9PiAnSURNJywKICAgIDYgPT4gJ1BQTycsCiAgICA3ID0+ICdIS0QnLAogICAgOCA9PiAnQUxMJywKICAgIDkgPT4gJ1BPUycsCiAgICAxMCA9PiAnTUNELVNQJywKICAgIDExID0+ICdNQ0QtQkgnLAogICAgMTIgPT4gJ01DRC1DTCcsCiAgICAxMyA9PiAnTUNELUNPJywKICAgIDE0ID0+ICdNQ1ItU1AnLAogICAgMTUgPT4gJ01DUi1QTycKKTsKCiRyb3dzID0gQXJyYXkoCiAgICAwID0+IEFycmF5KAogICAgICAgIDAgPT4gJ1ByaW1lcm8nLAogICAgICAgIDEgPT4gMTk2ODMuNDMsCiAgICAgICAgMiA9PiBOVUxMLAogICAgICAgIDMgPT4gMzc1Ny4zOCwKICAgICAgICA0ID0+IE5VTEwsCiAgICAgICAgNSA9PiBOVUxMLAogICAgICAgIDYgPT4gTlVMTCwKICAgICAgICA3ID0+IE5VTEwsCiAgICAgICAgOCA9PiBOVUxMLAogICAgICAgIDkgPT4gTlVMTCwKICAgICAgICAxMCA9PiBOVUxMLAogICAgICAgIDExID0+IE5VTEwsCiAgICAgICAgMTIgPT4gTlVMTCwKICAgICAgICAxMyA9PiBOVUxMLAogICAgICAgIDE0ID0+IE5VTEwsCiAgICAgICAgMTUgPT4gTlVMTAogICAgKSwKICAgIDEgPT4gQXJyYXkKICAgICAgICAoCiAgICAgICAgMCA9PiAnU2VndW5kbycsCiAgICAgICAgMSA9PiAxNTM0MC41NzY3LAogICAgICAgIDIgPT4gTlVMTCwKICAgICAgICAzID0+IE5VTEwsCiAgICAgICAgNCA9PiBOVUxMLAogICAgICAgIDUgPT4gTlVMTCwKICAgICAgICA2ID0+IE5VTEwsCiAgICAgICAgNyA9PiBOVUxMLAogICAgICAgIDggPT4gTlVMTCwKICAgICAgICA5ID0+IE5VTEwsCiAgICAgICAgMTAgPT4gTlVMTCwKICAgICAgICAxMSA9PiBOVUxMLAogICAgICAgIDEyID0+IE5VTEwsCiAgICAgICAgMTMgPT4gTlVMTCwKICAgICAgICAxNCA9PiBOVUxMLAogICAgICAgIDE1ID0+IE5VTEwKICAgICksCiAgICAyID0+IEFycmF5CiAgICAgICAgKAogICAgICAgIDAgPT4gJ1RlcmNlcm8nLAogICAgICAgIDEgPT4gTlVMTCwKICAgICAgICAyID0+IE5VTEwsCiAgICAgICAgMyA9PiBOVUxMLAogICAgICAgIDQgPT4gTlVMTCwKICAgICAgICA1ID0+IE5VTEwsCiAgICAgICAgNiA9PiBOVUxMLAogICAgICAgIDcgPT4gTlVMTCwKICAgICAgICA4ID0+IE5VTEwsCiAgICAgICAgOSA9PiBOVUxMLAogICAgICAgIDEwID0+IDQ5NjkuNjUsCiAgICAgICAgMTEgPT4gTlVMTCwKICAgICAgICAxMiA9PiBOVUxMLAogICAgICAgIDEzID0+IE5VTEwsCiAgICAgICAgMTQgPT4gMjM2OTUuMzksCiAgICAgICAgMTUgPT4gTlVMTAogICAgKSwKICAgIDMgPT4gQXJyYXkKICAgICAgICAoCiAgICAgICAgMCA9PiAnQ3VhcnRvJywKICAgICAgICAxID0+IE5VTEwsCiAgICAgICAgMiA9PiBOVUxMLAogICAgICAgIDMgPT4gTlVMTCwKICAgICAgICA0ID0+IE5VTEwsCiAgICAgICAgNSA9PiBOVUxMLAogICAgICAgIDYgPT4gTlVMTCwKICAgICAgICA3ID0+IE5VTEwsCiAgICAgICAgOCA9PiBOVUxMLAogICAgICAgIDkgPT4gTlVMTCwKICAgICAgICAxMCA9PiBOVUxMLAogICAgICAgIDExID0+IDQ1OTc0Ljg2LAogICAgICAgIDEyID0+IE5VTEwsCiAgICAgICAgMTMgPT4gTlVMTCwKICAgICAgICAxNCA9PiBOVUxMLAogICAgICAgIDE1ID0+IE5VTEwKICAgICksCiAgICA0ID0+IEFycmF5CiAgICAgICAgKAogICAgICAgIDAgPT4gJ1F1aW50bycsCiAgICAgICAgMSA9PiBOVUxMLAogICAgICAgIDIgPT4gTlVMTCwKICAgICAgICAzID0+IE5VTEwsCiAgICAgICAgNCA9PiBOVUxMLAogICAgICAgIDUgPT4gTlVMTCwKICAgICAgICA2ID0+IE5VTEwsCiAgICAgICAgNyA9PiBOVUxMLAogICAgICAgIDggPT4gTlVMTCwKICAgICAgICA5ID0+IE5VTEwsCiAgICAgICAgMTAgPT4gMTQwNS44LAogICAgICAgIDExID0+IDM5MjQ0LAogICAgICAgIDEyID0+IE5VTEwsCiAgICAgICAgMTMgPT4gTlVMTCwKICAgICAgICAxNCA9PiBOVUxMLAogICAgICAgIDE1ID0+IE5VTEwKICAgICkKKTsKCiRxdHlfY29sID0gY291bnQoJGNvbHMpIC0gMTsKJHF0eV9yb3dzID0gY291bnQoJHJvd3MpOwovL2VjaG8gJHF0eV9yb3dzOwoKJGlmU2NyaXB0ID0gJyc7CmZvciAoJGEgPSAxOyAkYSA8PSAkcXR5X2NvbDsgJGErKykgewogICAgJHVuc2V0U2NyaXB0ID0gJ3Vuc2V0KCc7CiAgICAkaWZTY3JpcHQgLj0naWYoJzsKICAgIGZvciAoJGIgPSAwOyAkYiA8PSAkcXR5X3Jvd3M7ICRiKyspIHsKICAgICAgICAkaWZTY3JpcHQgLj0gJ2VtcHR5KCRyb3dzWycgLiAkYiAuICddWycgLiAkYSAuICddKSc7CiAgICAgICAgJHVuc2V0U2NyaXB0IC49JyRyb3dzWycgLiAkYiAuICddWycgLiAkYSAuICddJzsKICAgICAgICBpZiAoJGIgPT0gJHF0eV9yb3dzKSB7CiAgICAgICAgICAgICRpZlNjcmlwdCAuPScpeyc7CiAgICAgICAgICAgIC8vJGlmU2NyaXB0IC49Jyl7PGJyPic7CiAgICAgICAgICAgICR1bnNldFNjcmlwdCAuPScsICRjb2xzWycgLiAkYSAuICddKTsnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRpZlNjcmlwdCAuPSAnICYmICc7CiAgICAgICAgICAgICR1bnNldFNjcmlwdCAuPScsICc7CiAgICAgICAgfQogICAgfQogICAgJGlmU2NyaXB0IC49ICR1bnNldFNjcmlwdCAuICd9JzsKICAgIC8vJGlmU2NyaXB0IC49ICR1bnNldFNjcmlwdCAuICc8YnI+fTxicj4nOwp9CgoKLy9lY2hvICRpZlNjcmlwdDsKZXZhbCgkaWZTY3JpcHQpOwokY29scyA9IGFycmF5X3ZhbHVlcygkY29scyk7CiRyb3dzID0gYXJyYXlfbWFwKCdhcnJheV92YWx1ZXMnLCAkcm93cyk7Cgpmb3JlYWNoICgkY29scyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgJGNvbHNbJGtleV0gPSBhcnJheSgKICAgICAgICAnaWQnID0+IE5VTEwsCiAgICAgICAgJ2xhYmVsJyA9PiAkdmFsdWUKICAgICk7CiAgICAkdHlwZSA9ICgka2V5ID09IDApID8gJ3N0cmluZycgOiAnbnVtYmVyJzsKICAgICRjb2xzWyRrZXldWyd0eXBlJ10gPSAkdHlwZTsKfQoKZm9yZWFjaCAoJHJvd3MgYXMgJGtleTEgPT4gJHZhbHVlMSkgewogICAgZm9yZWFjaCAoJHZhbHVlMSBhcyAka2V5MiA9PiAkdmFsdWUyKSB7CiAgICAgICAgJHZhbCA9IChlbXB0eSgkdmFsdWUyKSkgPyAnMC4wMCcgOiAkdmFsdWUyOwogICAgICAgICRmb3JtYXQgPSAoJGtleTIgPT0gMCkgPyBzdHJ0b3VwcGVyKHRyaW0oJHZhbHVlMikpIDogJyQnIC4gbnVtYmVyX2Zvcm1hdCgkdmFsdWUyLCAnMicsICcuJywgJywnKTsKICAgICAgICAkdmFsdWUxWyRrZXkyXSA9IGFycmF5KAogICAgICAgICAgICAndicgPT4gJHZhbCwKICAgICAgICAgICAgJ2YnID0+ICRmb3JtYXQKICAgICAgICApOwogICAgfQogICAgJHJvd3NbJGtleTFdID0gYXJyYXkoCiAgICAgICAgJ2MnID0+ICR2YWx1ZTEKICAgICk7Cn0KJG5ld0FycmF5ID0gYXJyYXkoCiAgICAnY29scycgPT4gJGNvbHMsCiAgICAncm93cycgPT4gJHJvd3MKKTsKZWNobyAnPHByZT4nOwpwcmludF9yKCRuZXdBcnJheSk7CmVjaG8gJzwvcHJlPic7