php 数组转xml与xml转换数组实例

 更新时间:2016年11月25日 15:00  点击:1480
本文章来给各位同学介绍两个简单的实例,php 数组转xml与xml转换数组,希望此文章对各位朋友会有所帮助。

php 数组转xml

 代码如下 复制代码

function array2xml($array, $xml = false){
    if($xml === false){
        $xml = new SimpleXMLElement('<root/>');
    }
    foreach($array as $key => $value){
        if(is_array($value)){
            array2xml($value, $xml->addChild($key));
        }else{
            $xml->addChild($key, $value);
        }
    }
    return $xml->asXML();
}
 
header('Content-type: text/xml');
print array2xml($array);

php xml转数组

 代码如下 复制代码

$s = <<<EOS
<root>
<Formula>
<formulaname>Basic</formulaname>
<movespeed>1</movespeed>
<box>4</box>
<chicken>3</chicken>
<ducks>1</ducks>
<cereal>2</cereal>
</Formula>
</root>
EOS;
 
$a = json_decode(json_encode((array) simplexml_load_string($s)),1);
print_r($a);

在php中如果我们要让数组随机排序只要使用shuffle函数即可了,但shuffle只可以使用一维数组哦,下面小编来给大家介绍几种数组排序方法。


php 中可以使用shuffle函数实现数组随机排序功能。

 代码如下 复制代码

<?php
$test=array();
$test[]=array(
        'title'=>'Q1.较为科学的安全期算法是什么?',
        );
$test[]=array(
        'title'=>'Q2.较为科学的安全期算法是什么?',
        );
$test[]=array(
        'title'=>'Q3.较为科学的安全期算法是什么?',
        );
$test[]=array(
        'title'=>'Q4.较为科学的安全期算法是什么?',
        );
//随机排序
shuffle($test);
print_r($test);
?>

本文章给各位同学介绍php 把数组中的键名作为变量名键值作为变量,希望此教程对各位同学会有所帮助哦。
 代码如下 复制代码
<?php
/*
php 把数组中的键名所为变量名键值作为变量
*/
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>5,'e'=>6);
//方法一,使用foreach循环实现
foreach($arr as $key=>$value){
 $$key=$value;
}
 
echo $a;
 
//方法二,其实php早就已经实现了这个功能extract
extract($arr);
echo $a;
在php中数组与变量相互转换我们可使用到extract或compact函数哦,下面我来给大家利用这两个函数来分享两个实例吧。

compact 多个变量转数组

 代码如下 复制代码

<?php
    //多个变量转数组
    $name='phpff';
    $email='phpff@phpff.com';
    $info=compact('name','email');//传递变量名
    print_r($info);
    /*
    Array
    (
        [name] => phpff
        [email] => phpff@phpff.com
    )
    */
?>

extract 数组转多个变量

 代码如下 复制代码

<?php
//数组转多个变量
    $capitalcities['England'] = 'London';
    $capitalcities['Scotland'] = 'Edinburgh';
    $capitalcities['Wales'] = 'Cardiff';
    extract($capitalcities);//转变成三个变量 England,Scotland,Wales
    print $Wales;//Cardiff

?>

 代码如下 复制代码

<?php
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "$a = $a; $b = $b; $c = $c";
?>

结果

$a = Cat; $b = Dog; $c = Horse

今天我们参考php官方对php全局变量介绍来理解一下php全局变量一些用法与自己对它的一些思考吧,现在分享出来希望对各位同学有帮助。


一、核心要点思考:

1. 哪些全局变量是过期的及如何处理?
如:unset($GLOBALS, $_ENV, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_ENV_VARS);
2.哪些全局变量有命令行下是无效的?
3. htmlspecialchars()用法, 为什么要用它?
4. $_REQUEST和 $_GET, $_POST,$_COOKIE的联系与区别?
5. 为什么上传了文件但$_FILES变量不存在或为空?
6. 全局变量的作用域?
7. 我想取得用户的IP和浏览器的user_agent信息, 如何取?
8. 我没有用浏览器, 我是 socket编程? 如何保持session?
9. 如何取得headers信息?


php九大全局预定义数组

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量
$GLOBALS — 引用全局作用域中可用的全部变量
$_SERVER — 服务器和执行环境信息
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_SESSION — Session 变量
$_ENV — 环境变量
$_COOKIE — HTTP Cookies
$php_errormsg — 前一个错误信息
$HTTP_RAW_POST_DATA — 原生POST数据
$http_response_header — HTTP 响应头
$argc — 传递给脚本的参数数目
$argv — 传递给脚本的参数数组

二、主要问题
====================================

PHP基础篇总结题目:
1>. var_dump(0=="ads");请问该条语句结果是怎样的?为什么?
答:此语句结果为true;
此表达式中右侧的字符串默认强制转换为int数据0,与左侧数据相同,所以输出true,如果是“===”,则会输出false,这是因为他们类型不同,值也不同,在这里不会强制转换。

点评:这个真不好说, 测试一下吧! var_dump()打印表达式的结果! 这个实际考的是表达式运算。

2>.异常可以被克隆吗?
答:不可以。

3>.PHP中 Traits有什么特性?
答:Traits (横向重用/多重继承)是一组结构很像类的方法,但它但不能实例化,它可以让开发人员在不同的类中轻松地重用方法;
Traits的最佳应用是多类之间可以共享相同的函数;
静态变量可以被 trait 的方法引用,但不能被 trait 定义。但是 trait 能够为使用的类定义静态方法;
如果 trait 定义了一个属性,那类将不能定义同样名称的属性,否则会产生一个错误;

总结: 提的问题好,回答的也挺好

=====================================

1、有哪些超全局变量?答:超全局变量:$GLOBALS、$_SERVER、$_GET、$_POST、$_FILES、$_COOKIE、$_SESSION、$_REQUEST、$_ENV

2、浏览器把cookie给禁用了,$_SESSION还能用吗? 答:不能用了
点评: 答错了, 能用! apache有自动的功能将session_id放在get参数。

3、$php_errormsg在什么时候都可用吗?答:不是,这个变量只在错误发生的作用域内可用,并且要求track_errors配置项是开启的(默认是关闭的)。

总结: 很积极,回答能够在丰满一点比较好

 

========================================

有个人性化的面试问题
写30个php字符串函数。
例:
trim()      去掉字符串中的空格
chop()        从右向左,删除指定字符  ,参数  rtrim(string,find);
rtrim()     从右向左,删除指定字符  ,参数  rtrim(string,find);
chr()       返回字符的 asc2 码
var_dump()    打印一个值,可以是任何形式,并返回值的属性
print()        打印数组或字符串
print_r()     把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示
chunk_split()    把字符串分割为一连串更小的部分
implode()    把数组元素组合为一个字符串
join()        把数组元素组合为一个字符串
explode()    把字符串分割成数组
md5()        返回一个md5值,不可逆
strlen()    获取一个字符串的长度
str_replace    替换字符串中的一些字符
mb_substr    mb扩展的截取字符串函数,格式:mb_substr(string,start_Num,end_Num,'utf-8')
str_split     将一个字符串按照字符间距分割为一个数组
strpos         查找并返回首个匹配项的位置
strtr        转换字符串中特定的字符
substr         对字符串进行截取
substr_count     计算字符串中某字符段的出现次数
substr_replace  对字符串中的部分字符进行替换
wordwrap    函数按照指定长度对字符串进行折行处理
addcslashes()    在指定的字符前添加反斜杠
strtolower()    把字符串转换为小写
strtoupper()    把字符串转换为大写
strrev()    反转字符串
strripos()    查找字符串在另一字符串中最后出现的位置(大小写不敏感)
strrpos()    查找字符串在另一字符串中最后出现的位置(大小写敏感)
strspn()    返回在字符串中包含的特定字符的数目
ucwords()    把字符串中每个单词的首字符转换为大写
str_repeat()    把字符串重复指定的次数
...

=======================================

1、命名空间必须是程序脚本的第一条语句吗?
答案:yes

2、如何取消引用?
答案:unset();

3、如果一个类,它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象类吗?继承一个抽象类的时候,子类必须定义父类中的所有抽象方法吗?
答案:如果一个类中有抽象方法,类必须定义为抽象类,继承一个抽象类时,子类必须定义父类中的所有抽象方法。

========================================

1.如何得到文件的绝对路径
使用realpath() 函数,返回绝对路径名。若失败,则返回 false,比如说文件不存在。
echo realpath("test.txt");
输出:
C:wwwtestwebtest.txt

2.session的工作原理
session保存在服务端,但会以cookie的形式保存在客户端一个sessionid,如果禁用cookie,就需要用get方法的URL重写的机制或使用POST方法提交隐藏表单的形式来实现。

点评: 是这个原理, 但一般有web服务器会自动完成这个功能, 不需要在程序中添加。

3.public static声明的函数是静态方法吗?
public static声明的函数是静态方法,可以直接在类外用,类名::函数名的方法调用 不用采用NEW声明的方式
注意:函数内不能有动态内容 如$this->之类的
一般来说 需要频繁执行的内容 用STATIC声明

总结: session的工作原理整理的很好,分析很透彻。希望以后积极点,继续努力

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • 使用PHP+JavaScript将HTML页面转换为图片的实例分享

    这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Javascript类型转换的规则实例解析

    这篇文章主要介绍了Javascript类型转换的规则实例解析,涉及到javascript类型转换相关知识,对本文感兴趣的朋友一起学习吧...2016-02-27
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • 美图秀秀把普通照片快速转换成卡通效果教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下把普通照片快速转换成卡通效果的教程,各位想知道具体制作步骤的使用者们,那么下面就快阿里跟着小编一起看一...2016-09-14
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下...2020-06-25
  • 将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组。复制代码 代码如下:$msg = array(  array(    'id'=>'45',    'name'=>'jack'  ),  array(    'id'=>'34',    'name'=>'mary'  ),  array(    'id...2014-05-31
  • 浅析C#数据类型转换的几种形式

    本篇文章是对C#中数据类型转换的几种形式进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • php中数组写入文件方法

    在php中为我们提供了一个函数var_export 他可以直接将php代码入到一个文件中哦。 代码如下 复制代码 var_export($times,true);后面不加tru...2016-11-25
  • JavaScript实现Base64编码转换

    这篇文章主要介绍了JavaScript实现Base64编码转换的相关资料,非常简单实用,需要的朋友可以参考下...2016-04-25
  • PHP编码转换函数mb_convert_encoding与iconv用法

    文章来实现一个PHP编码转换函数mb_convert_encoding与iconv用法,希望例子能帮助到各位。 将一个短信接口代码从apache迁移到nginx+php-fpm后,发现无法发出短信了,查...2016-11-25