Ksp 语法类

KSP 数组

数组能够在单独的变量名中存储一个或多个值。

<?ksp
	
cars= ["Volvo","BMW","SAAB"];
echo ("I like " + cars[0] + ", " + cars[1] + " and " + cars[2] +".");

?>
	
什么是数组?

数组是特殊的变量,它可以同时保存一个以上的值。(和josn语法一样)

如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的:

cars1="Volvo";
cars2="BMW";
cars3="SAAB";
	

不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储 300 个汽车品牌,而不是 3 个呢?

解决方法是创建数组!

数组能够在单一变量名中存储许多值,并且您能够通过引用下标号来访问某个值。

在 KSP 中创建数组

在 KSP 中,数组是直接创建的:

a=[1,2,3…n];	
	

在KSP 中,有两种数组类型:

    • 索引数组 - 带有数字索引的数组

    • 多维数组 - 包含一个或多个数组的数组

索引数组

有两种创建索引数组的方法:

索引是自动分配的(索引从 0 开始):

cars=["Volvo","BMW","SAAB"];
	

或者也可以手动分配索引:

cars[0]="Volvo";
cars[1]="BMW";
cars[2]="SAAB";
	

下面的例子创建名为 cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:

<?ksp

cars=["Volvo","BMW","SAAB"];
echo ("I like " + cars[0] + ", " + cars[1] + " and " + cars[2] + ".");
?>
	
获得数组的长度 - count() 函数

count() 函数用于返回数组的长度(元素数):

<?ksp
cars=["Volvo","BMW","SAAB"];
echo (cars.length);
?>
遍历索引数组

如需遍历并输出索引数组的所有值,您可以使用 for 循环,就像这样:

<?ksp
cars=["Volvo","BMW","SAAB"];
arrlength=cars.length;

for(x=0;x<arrlength;x++) {
  echo (cars[x]+"<br>");
}
?>
	
KSP 多维数组

多维数组指的是包含一个或多个数组的数组。

KSP 能理解两、三、四或五级甚至更多级的多维数组。不过,超过三级深的数组对于大多数人难于管理。

注释:数组的维度指示您需要选择元素的索引数。

    • 对于二维数组,您需要两个索引来选取元素

    • 对于二维数组,您需要两个索引来选取元素

其实KSP是不支持多维数组的,在KSP里面,如果用a = [[b],[b]]将报错,数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组.

KSP - 两维数组

两维数组是数组的数组(三维数组是数组的数组的数组)。

首先,让我们看看下面的表格:

品牌库存销量
Volvo3320
BMW1715
Saab52
Land Rover1511

我们能够在两维数组中存储上表中的数据,就像这样:

a=["Volvo",22,18];
b=["BMW",15,13];
c=["Saab",5,2];
d=["Land Rover",17,15];
cars =[a,b,c,d]; 
	

现在这个两维数组包含了四个数组,并且它有两个索引(下标):行和列。

如需访问 cars 数组中的元素,我们必须使用两个索引(行和列):

<?ksp
a=["Volvo",22,18];
b=["BMW",15,13];
c=["Saab",5,2];
d=["Land Rover",17,15];
cars =[a,b,c,d]; 

echo(cars[0][0]+" 库存:"+cars[0][1]+", 销量:"+cars[0][2]+"
"+ cars[1][0]+" 库存:"+cars[1][1]+", 销量:"+cars[1][2]+"
"+ cars[2][0]+" 库存:"+cars[2][1]+", 销量:"+cars[2][2]+"
"+ cars[3][0]+" 库存:"+cars[3][1]+", 销量:"+cars[3][2]+"
"); ?>

我们也可以在 For 循环中使用另一个 For 循环,来获得 cars 数组中的元素(我们仍需使用两个索引):

<?ksp

a=["Volvo",22,18];
b=["BMW",15,13];
c=["Saab",5,2];
d=["Land Rover",17,15];
cars =[a,b,c,d]; 

for(row=0;row<cars.length;row++){
   echo ("<p><b>行数 "+row+"</b></p>");
   echo ("<ul>");
   for (col = 0; col <a.length; col++) {
     echo ("<li>"+cars[row][col]+"</li>");
   }
   echo("</ul>");

?>