php变量与数组相互转换的方法(extract与compact)

yizhihongxing

下面是 php 变量与数组相互转换的方法(extract与compact)的完整攻略:

extract 函数

extract 函数可以将一个关联数组解包为一系列同名变量,其语法为:

extract($array, $flags = EXTR_OVERWRITE, $prefix = null);
  • $array:要解包的关联数组。
  • $flags:可选参数,控制变量提取的行为,可以为以下值之一:
  • EXTR_OVERWRITE:默认值,如果同名变量已经存在,就覆盖掉原来的变量。
  • EXTR_SKIP:如果同名变量已经存在,就保留原来的变量。
  • EXTR_PREFIX_SAME:如果同名变量已经存在,就加上指定的前缀,保留原来的变量。
  • EXTR_PREFIX_ALL:为所有变量加上指定的前缀。
  • EXTR_PREFIX_INVALID:为无效的变量名加上指定的前缀。
  • EXTR_IF_EXISTS:只有在变量已经存在时,才进行提取。
  • EXTR_REFS:将提取的变量的值设为原数组元素的引用。
  • $prefix:可选参数,指定变量名的前缀。

示例1:

<?php
$array = array('name' => 'Jim', 'age' => 32, 'gender' => 'male');
extract($array);
echo $name;    // Jim
echo $age;     // 32
echo $gender;  // male
?>

示例2:

<?php
$array = array('name' => 'Jim', 'age' => 32, 'gender' => 'male');
extract($array, EXTR_PREFIX_ALL, 'person');
echo $person_name;    // Jim
echo $person_age;     // 32
echo $person_gender;  // male
?>

compact 函数

compact 函数可以将变量打包成一个关联数组,其语法为:

compact($var1, $var2, ...);
  • $var1, $var2:要打包的变量名。

示例1:

<?php
$name = 'Jim';
$age = 32;
$gender = 'male';
$array = compact('name', 'age', 'gender');
print_r($array);
// 输出结果:Array ( [name] => Jim [age] => 32 [gender] => male )
?>

示例2:

<?php
$vars = array('name', 'age', 'gender');
$name = 'Jim';
$age = 32;
$gender = 'male';
$array = compact($vars);
print_r($array);
// 输出结果:Array ( [name] => Jim [age] => 32 [gender] => male )
?>

这就是 php 变量与数组相互转换的方法(extract 与 compact)的完整攻略了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php变量与数组相互转换的方法(extract与compact) - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHP实现简易blog的制作

    下面给你详细讲解“PHP实现简易blog的制作”的完整攻略。 1. 准备工具 Web服务器:Apache或Nginx 数据库软件:MySQL或MariaDB 编辑器:Sublime Text、Visual Studio Code、PHPStorm等 2. 创建数据库 首先,需要在MySQL或MariaDB中创建一个数据库,用于存储博客的文章和用户信息。 可以…

    PHP 2023年5月27日
    00
  • thinkPHP简单遍历数组方法分析

    下面是“thinkPHP简单遍历数组方法分析”的完整攻略: 标题 ThinkPHP 简单遍历数组方法 正文 在 ThinkPHP 中,可以通过以下两种方式简单地遍历数组: 1. foreach 循环遍历数组 $students = [‘小明’, ‘小红’, ‘小刚’]; foreach ($students as $student) { echo &quot…

    PHP 2023年5月26日
    00
  • php实现根据字符串生成对应数组的方法

    以下是“php实现根据字符串生成对应数组的方法”的完整攻略: 1. 确定字符串格式 在开始实现之前,首先需要确定输入的字符串格式。常见的字符串格式有以下两种: 使用逗号分隔的键值对,如: key1: value1, key2: value2, key3: value3 使用数组表示法,如: [key1 => value1, key2 => val…

    PHP 2023年5月26日
    00
  • PHP中字符安全过滤函数使用小结

    下面详细讲解“PHP中字符安全过滤函数使用小结”这个话题。 标题 PHP中字符安全过滤函数使用小结 简介 在开发 PHP 应用时,经常需要处理用户输入的数据。为了避免安全漏洞,我们需要对用户输入的数据进行过滤。本文将介绍几个 PHP 中常用的字符安全过滤函数,帮助大家构建更加安全的应用。 htmlspecialchars htmlspecialchars()…

    PHP 2023年5月26日
    00
  • php目录拷贝实现方法

    下面让我详细讲解一下“php目录拷贝实现方法”完整攻略。 1. 使用copy()函数 PHP提供了copy()函数,可以用于将一个文件从源路径拷贝到目标路径,也可以进行目录的拷贝。以下是使用copy()函数实现目录拷贝的示例代码: $source = ‘/path/to/source/directory’; $destination = ‘/path/to/…

    PHP 2023年5月26日
    00
  • PHP多线程批量采集下载美女图片的实现代码(续)

    下面是讲解“PHP多线程批量采集下载美女图片的实现代码(续)”攻略的完整步骤: 一、前置准备首先我们需要安装扩展,安装php-amqp扩展,这个扩展是使用RabbitMQ必备的,安装方式在官方仓库和pecl都有,我一般使用pecl安装,使用命令“sudo pecl install amqp”,然后在php.ini中添加引入即可。 二、创建消息队列通过Rabb…

    PHP 2023年5月27日
    00
  • PHP创建对象的六种方式实例总结

    PHP创建对象的六种方式实例总结 在PHP中,我们常常需要创建对象,使用对象完成各种需求。本文将介绍创建对象的六种方式,并提供相应的示例代码。 1. 通过new关键字创建对象 我们可以通过new关键字创建一个对象。在使用new关键字时,我们需要指定要创建的对象的类名,并可选地向该类的构造函数传递参数。 示例代码: class Person { private…

    PHP 2023年5月23日
    00
  • PHP 实现字符串翻转(包含中文汉字)的实现代码

    要实现字符串翻转,包含中文汉字,我们可以通过 PHP 中的 strrev() 函数实现。但是如果我们只用 strrev() 函数的话,会出现乱码的问题,因为 strrev() 函数只能够处理 ASCII 码(一个字节字符)。 因此,我们需要一种更全面的解决方案。可以通过 PHP 中的 mb_strlen() 函数和 mb_substr() 函数来实现。“mb…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部