转换方法:1、利用foreach语句通过引用循环的方式来遍历数组,语法“foreach ($array as &$v){//循环体}”;2、在循环体中,用bin2hex()函数将数组元素转为16进制,语法“$v=bin2hex($v);”。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php将数组元素转为16进制的方法

在PHP中,可以利用foreach语句遍历数组,在循环中使用bin2hex()将数组元素转为16进制。

1、利用foreach语句通过引用循环的方式来遍历数组

foreach ($array as &$value){
    //循环体语句块;
}

在 $value 之前加上 &,这样foreach语句会以引用赋值而不是拷贝一个值,那么在循环体内对数组进行操作,就会影响数组本身。

2、在循环体中,使用bin2hex()将数组元素$value转为16进制

bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。

实现代码:

<?php
header('content-type:text/html;charset=utf-8');   
$array=array("hello",524,"World");
var_dump($arr);
foreach($array as &$value){
	$value=bin2hex($value);
}
var_dump($arr);
?>

1.png

说明:在上面示例的输出结果中,可以看出,在最后一个元素前,有一个&,那是因为数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。我们需要使用unset() 来将其销毁。

<?php
header('content-type:text/html;charset=utf-8');   
$arr=array("hello",524,"World");
var_dump($arr);
foreach($arr as &$v){
	$v=bin2hex($v);
}
unset($v); // 最后取消掉引用
var_dump($arr);
?>

2.png


php怎么将数组元素转为16进制