if( isset($_POST["submit"]) && !empty($_POST["submit"]) ){
if(inserted)
die("Database insertion successful"); //PHP will stop here
else
die("Database insertion failed"); //or here
}
//Your HTML won't be shown ...
我想使用值索引引用,但我该怎么做?
答案 0 :(得分:1)
从你的错误看,似乎'index'变量是一个字符串,而不是一个int。你可以使用int()转换它。
index = int(index)
for i in range(string[index:]):
现在,string [index:]也将是一个字符串。所以你也需要转换它:
>>> string = "5"
>>> range(string)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: range() integer end argument expected, got str.
>>> range(int(string))
[0, 1, 2, 3, 4]
>>>
假设string [index:]只包含一个数字。如果情况并非总是如此,您可以执行以下操作:
# 'index' contains only numbers
index = int(index)
number = string[index:]
if number.isdigit():
number = int(number)
for i in range(number):
来自the Wikipedia article on Python:
Python使用duck typing并且有类型对象但是无类型的变量名。在编译时不检查类型约束;相反,对象上的操作可能会失败,表示给定的对象不是合适的类型。尽管是动态类型的,但Python是强类型的,禁止未明确定义的操作(例如,向字符串添加数字),而不是默默地尝试理解它们。
在这种情况下,您尝试将字符串传递给range()。此函数等待一个数字(正整数,因为它)。这就是你需要将你的字符串转换为int的原因。根据您的需要,您实际上可以进行更多检查。 Python关心类型。
HTH,