我收到以下错误:
警告:遇到非数字值
有没有人有解决方案? (我是初学者。)
修改
以下是代码:
while($r = mysqli_fetch_row($result))
{
$items[] = $r;
}
$itemArray = array($items[0][0]=>array('Proid' => $items[0][0],
'name'=>$items[0][1], 'brand'=>$items[0][2], 'desc'=>$items[0][3],
'quan'=>$_POST["quantity"], 'price'=>$items[0][4], 'image'=> $items[0][5]));
$_SESSION['cart'] += $itemArray;
$i = $item['Proid'];
$tp = $item['quan'] * $item['price'];
$tp2 += $tp;
答案 0 :(得分:0)
您的某些值可能是$(document).ready(function() {
$("#quotebtn").on('click', function(e) {
e.preventDefault();
$.ajax({
type: 'GET',
url: 'http://quotes.stormconsultancy.co.uk/random.json',
success: function(data) {
var post = data.quote; //get the first quote
$('#quote').html(post); //change the html to the quote
},
cache: false
});
})
})
,而不是string
或integer
。
要确保使用
intval()
to convert a string
to integer
或
floatval()
to convert a string
to float
这只是一个警告,php会尝试在幕后转换它,但如果可能不准确,例如,如果你使用float
作为小数点分隔符,或者你使用了几千个分隔符。
答案 1 :(得分:0)
如果遇到非数字值,不确定您使用的是哪个PHP版本,但会发出警告。请参阅此link。
所以你可以做的是在做计算之前确保检查实体是否是数字,为此你可以使用is_numeric()PHP函数。
例如在您的情况下:
Xs = ['0.000000000000E+00', '3.333333333333E-01', '-4.079267158859E-01', '0.000000000000E+00', '3.333333333333E-01', '-4.090760942850E-01', '0.000000000000E+00', '3.333333333333E-01', '-4.093755657782E-01']
Ys = ['0.000000000000E+00', '-3.333333333333E-01', '-3.333333333333E-01', '0.000000000000E+00', '-3.333333333333E-01', '-3.333333333333E-01', '0.000000000000E+00', '-3.333333333333E-01', '-3.333333333333E-01']
Zs = ['0.000000000000E+00', '-8.333333333333E-02', '-8.333333333333E-02', '0.000000000000E+00', '-8.333333333333E-02', '-8.333333333333E-02', '0.000000000000E+00', '-8.333333333333E-02', '-8.333333333333E-02']
ATOMIC_NUMBERS = ['20', '6', '8', '20', '6', '8', '20', '6', '8']