Perhaps for now you will be working.
Unverified code:
foreach ($testing_array as $testing_entry) {
do {
$result = my_testing_api_call($testing_entry);
if ($result == 'server dead') {
break 2;
} elseif ($result == 'done') {
} else {
sleep(5);
}
} while ($result !== 'done');
}
Or one loop structure that destroys the input array when it repeats.
Unverified code:
$result = '';
while ($testing_array && $result !== 'server dead') {
$result = my_testing_api_call(current($testing_array));
if ($result == 'done') {
array_shift($testing_array);
} elseif ($result !== 'server dead') {
sleep(5);
}
}
for, $test_array array_values(), // do something.
$testing_array = array_values($testing_array);
for ($i=0, $count=count($testing_array); $i < $count; ++$i) {
$result = my_testing_api_call($testing_entry[$i]);
if ($result == 'server dead') {
break;
} else if ($result == 'done') {
} else {
sleep(5);
--$i;
}
}
script, for, , $i .
:
while (key($testing_array) !== null) {...} .
: ()
$array1 = [
"one" => 1,
"two" => 2,
"three" => 3,
"four" => 4
];
while (key($array1)!==null) {
$current = current($array1);
$key = key($array1);
echo "$key => $current\n";
if ($current < 3) {
echo "\t";
$array1[$key] = ++$current;
} else {
echo "\t(advance pointer)\n";
next($array1);
}
}
:
one => 1
one => 2
one => 3
(advance pointer)
two => 2
two => 3
(advance pointer)
three => 3
(advance pointer)
four => 4
(advance pointer)