Неопределенное смещение: 0 Codeigniter

function chart($id){
$rows = array(); $rows2 = array();
$data['mikrotik'] = $this->mikrotik_api->interfaces()->ethernet()->get_byname($id);
if(count(isset($data[0])) > 0 ){
$rx = number_format($data[0]["rx-bits-per-second"]/1024,1);
$tx = number_format($data[0]["tx-bits-per-second"]/1024,1);
$rows['name'] = 'Tx';
$rows['data'][] = $tx;
$rows2['name'] = 'Rx';
$rows2['data'][] = $rx;
}
else{
echo "<font color='#ff0000'>Koneksi gagal</font>";
}

$result = array();
array_push($result,$rows);
array_push($result,$rows2);
print json_encode($result, JSON_NUMERIC_CHECK);
}

У меня есть неопределенный индекс 0 в переменной $ rx и $ tx, может кто-то может проверить, что не так с кодом

-1

Решение

Из вашего обновленного вопроса (спасибо за это) вывод для $ data [‘mikrotik’]:

array(3) { [0]=> string(5) "!trap" [1]=> string(26) "=message=unknown parameter" [2]=> string(5) "!done" }

Что далеко от того, что вы ожидаете … Так что происходит ошибка.

Ваше заявление, чтобы попытаться определить, если у вас есть действительные данные, «интересно».

if(count(isset($data[0])) > 0 )

Это не имеет никакого смысла.

isset($data[0]) вернет True или False. Затем вы выполняете подсчет, поэтому счет (true или false) всегда будет> 0.
count() ожидает массив, а не логическое значение!

«Предложение» было бы изменить это на

if(isset($data[0]))

Таким образом, из вашего вывода вы получаете какую-то ошибку, которую вам нужно расследовать, и этот вопрос отличается от этого. Если вам нужно, создайте новый вопрос, чтобы справиться с ним.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]