I have the following array which is being generated from a msqli query.
Array
(
[0] => 21
[1] => AAAAA
[2] => BBBBB
[3] => 1234567
[4] => aaa
[5] => bbb
[6] => ccc
[7] => ddd
[8] => 2015-01-19 03:31:33
[9] => 1
[10] => 5
[11] => 5, - not set -;9, - not set -;10, - not set -;11, - not set -;14, - not set -;19, 12;20, mm_cb_on;21, - not set -;27, Noe;28, Pena;62, mm_cb_off
)
Array
(
[0] => 22
[1] => AAAAA
[2] => BBBBB
[3] => 1234567
[4] => aaa
[5] => bbb
[6] => ccc
[7] => ddd
[8] => 2015-01-19 03:31:33
[9] => 1
[10] => 6
[11] => 5, - not set -;9, - not set -;10, - not set -;11, - not set -;14, - not set -;20, mm_cb_on;21, - not set -;
)
Array
(
[0] => 23
[1] => AAAAA
[2] => BBBBB
[3] => 1234567
[4] => aaa
[5] => bbb
[6] => ccc
[7] => ddd
[8] => 2015-01-19 03:31:33
[9] => 1
[10] => 7
[11] => 5, - not set -;11, - not set -;14, - not set -;19, 23;20, mm_cb_on;21, - not set -;27, Noe;28, Pena;62, mm_cb_off
)
I am looping through this data like so:
while ($row = mysqli_fetch_array($data)) {
echo "<td nowrap>" .$row{'first_name'}. "</td>
<td nowrap>" .$row{'last_name'}. "</td>
.......";
}
When I get to the last key in the array, I am looping through that data, and exploding like this:
while ($row = mysqli_fetch_array($data)) {
echo "<td nowrap>" .$row{'first_name'}. "</td>
<td nowrap>" .$row{'last_name'}. "</td>
.......";
$custom_fields = $row[11];
$fields = explode(";", $custom_fields);
foreach ($fields as $keys) {
$key = explode(',', $keys);
var_dump($key);
}
}
That var dump produces the following array structure (for the first key in the previous array):
Array
(
[0] => 5
[1] => - not set -
)
Array
(
[0] => 9
[1] => - not set -
)
Array
(
[0] => 10
[1] => - not set -
)
Array
(
[0] => 11
[1] => - not set -
)
Array
(
[0] => 14
[1] => - not set -
)
Array
(
[0] => 19
[1] => 12
)
Array
(
[0] => 20
[1] => mm_cb_on
)
Array
(
[0] => 21
[1] => - not set -
)
Array
(
[0] => 27
[1] => Noe
)
Array
(
[0] => 28
[1] => Pena
)
Array
(
[0] => 62
[1] => mm_cb_off
)
I am trying to create conditionals like so:
if (isset($key[0]) && $key[0] == 19) { // this produce none for every row
$prov_id = $key[1];
} else {
$prov_id = 'None';
}
if ($key[0] == 27) {
$fm2_fname = $key[1];
} else {
$fm2_fname = '';
}
if ($key[0] == 28) {
$fm2_lname = $key[1];
} else {
$fm2_lname = '';
}
The problem I am having is in the loop some of the items do not have $key[0] == "19" ... How would I handle this inside the foreach loop? Any help is greatly appreciated.
$key[0] == "19"?isset($key[0])?issetwill alway be true.$key[1]where$key[0] == 19and if there is not a$key[0]that equals 19, I need to provide an empty value.