① php数组包含数字字符串吗
本文小编为大家详细介绍“php数组的元素可不可以是数字”,内容详细,步骤清晰,细节处理妥当,希望这篇“php数组的元素可不可以是数字”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
php数组的元素可以是数字。因为PHP是弱数据类型的编程语言,所以PHP中的数组可以存储任樱前高意多个、任意类型的数据,即数组元素的类型没有限制,可以是数字(整数和浮点数)、字符串、布尔值、数组、Object对象等类型。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php数组的元素可以是数字。
数组是 PHP 中最重要的数据类型之一,在 PHP 中的应用非常广泛。因为 PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能。
简单来说,PHP数组元素的类型没有限制,可以是数字、字符串、布尔值、数组、Object对象等类型。
示例1:索引数组
<?php
header("Content-type:text/html;charset=utf-8");
$arr= array(1,2,"3",4,0.5,"hello",TRUE,3.14);
var_mp($arr);
?>
说明:索引数组的下标(键名)由数字组成,默认从 0 开始,每个数字对应一个数组元素在数组中的位置,不需要特别指定,PHP 会自动为索引数组的键名赋一个整数值,然后从这个值开始自动递增。
示例2:关联数组
<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(1=>1,"a"=>3.5,2=>2,"b"=>0,"c"=>"blue");
var_mp($arr);
?>
说明:关联数组的下标(键名)由数值和字符串混合的形式组成,如果一个数组中有一个键名不是数字,那么这个数组就是关联数组。
php中的数字
在php中,数字可分为integer(整型)和float(浮点型)
类型 功能
integer(整型) 整型包含所有的整数,可以是正数也可以是负数
float(浮点型) 浮点型也是用来表示数字的,与整型不同除了可以表示整数外它还可以用来表示小数和指数
1)整型
在 PHP 中,整型变量称为 integer 或 int 类型,用来表示一个整数,整型的规则如下所示:
整型必须至少有一个数字(0~9);
整型不能包含逗号或空格;
整型不能包含小数点;
整型可以是正数或负数。
整型的取值范围必须介于 -2E31 到 2E31 之间,可以用三种格式来表示,即十进制、十六进制(以 0x 为前缀)和八进制(以 0 为前缀)。
<?php
$x = 5985; // 定义一个整型数据类型的变量
var_mp($x); // 输出此变量
$x = -345;
var_mp($x);
$x = 0x8C; //十六进制数字
var_mp($x);
$x = 047; //八进制数字
var_mp($x);
?>
注意,在 PHP7 版本中,含有十六进制字符的字符串不再被视为数字,而是当作普通的字符串。
2)浮点型
浮点型在 PHP 中被称为 float 类型,也可称为实数,可以用来存储悔闹整数和小数,有效的取值范围是 1.8E-308 到 1.8E+308 之间。浮点数的精确度比整型数据类型要高。
<?php
$num1 = 10.365;
$num2 = 2.4e3;
$num3 = 8E-5;
var_mp($num1, $num2, $num3);
?>
读到这里,这篇“php数组的元素可不可以是数字”文章已经介绍完毕,想要掌握这篇文章的知脊尺识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
② PHP如何将字符型的数组转换成整数型
假设这个数组是$arr,
则方法如下:
for($i=0;$i<count($arr);$i++)
{
$arr[$i] = intval($arr[$i]);
}
这样子就能把字符型转换成数字型数组
③ php数组的语法
定义 array()
可以用 array() 语言结构来新建一个 array。它接受一定数量用逗号分隔的 key => value 参数对。
array( [key =>]value , ... )// key 可以是 integer 或者 string// value 可以是任何值<?php$arr = array(foo => bar, 12 => true);echo $arr[foo]; // barecho $arr[12]; // 1?>
key 可以是 integer 或者 string。如果键名是一个 integer 的标准表达方法,则被解释为整数(例如 8 将被解释为 8,而 08 将被解释为 08)。key 中的浮点数被取整为 integer。php 中没有不同的数字下标和关联下标数组,数组的类型只有一种,它可以同时包含整型和字符串型的下标。
值可以是任何值。
<?php$arr = array(somearray => array(6 => 5, 13 => 9, a => 42));echo $arr[somearray][6]; // 5echo $arr[somearray][13]; // 9echo $arr[somearray][a]; // 42?>
如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。
<?php// This array is the same as ...array(5 => 43, 32, 56, b => 12);// ...this arrayarray(5 => 43, 6 => 32, 7 => 56, b => 12);?>如果 $arr 还不存在,将会新建一个。这也是一种定义数组的替换方法。要改变一个值,只要给它赋一个新值。如果要删除一个键名/值对,要对它用 unset()。 <?php$arr = array(5 => 1, 12 => 2);$arr[] = 56; // This is the same as $arr[13] = 56; // at this point of the script$arr[x] = 42; // This adds a new element to // the array with key xunset($arr[5]); // This removes the element from the arrayunset($arr); // This deletes the whole array?>
注意这里所使用的最大整数键名不一定当前就在数组中。它只要在上次数组重新生成索引后曾经存在过就行了。以下面的例子来说明:
<?php// 创建一个简单的数组$array = array(1, 2, 3, 4, 5);print_r($array);// 现在删除其中的所有单元,但保持数组本身的结构foreach ($array as $i => $value) { unset($array[$i]);}print_r($array);// 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)$array[] = 6;print_r($array);// 重新索引:$array = array_values($array);$array[] = 7;print_r($array);?>上例将输出: Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)Array()Array( [5] => 6)Array( [0] => 6 [1] => 7)
④ php中随机生成十个两位正整数的一维数组,输出最大值及其位置用到mt_rand(10,99)
<?php
/*随机生成10个由两位正整数组成的一维数组,输出其中的最大值及所在位置。
(提示:随机函数为rand())*/
header("Content-type: text/html; charset=utf-8");
$rand=array(
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
rand(10,99),
);
//var_mp($rand);
echo "随机生成10个由两位正整数组成的一维数组为:";
foreach ($rand as $value) {
echo "{$value};";
}
echo "</br>";
$Max=max($rand);
echo "其中最大值为:";
echo $Max."</br>";
$site=array_search($Max,$rand);
//array_search()函数在数组中搜索某个键值,并返回对应的键名。
$i=$site+1;
echo "它在数组中第".$i."位</br>";
?>
我写的,提供你参考!
来自萌新小明!