如何在运行时为数组索引指定一个命名键
how to give array index a named key on runtime
我在这里尝试使用 XMLSerializer class 将数据从 mysql table 转换为 xml file.I 想要 xml文件要像这样
为此,我需要将数字索引更改为 'book'。目前我可以生成以下数组 form:It 具有数字索引,但出于我的目的,两个索引 (0和 1) 必须是 'book'.
如何将两个数字索引都更改为 'book'?
完整代码:
include('XMLSerializer/XML/Serializer.php');
$host='localhost';
$user='root';
$pass='';
$db='xmlserializer';
$dbh=new PDO("mysql:host=$host;dbname=$db",$user,$pass);
$sql='SELECT lname,fname FROM employee';
$sth=$dbh->prepare($sql);
$sth->execute();
$xml=array('library'=>array());
$i=0;
while($result=$sth->fetch(PDO::FETCH_ASSOC)){
array_push($xml['library'],$result);
}
print_r($xml);
$serializer=new XML_Serializer();
$result=$serializer->serialize($xml);
if($result===true){
file_put_contents('myxml.xml',$serializer->getSerializedData());
}
你需要在XML_Serializer
中设置default tag
:
所以你的代码应该是:
$options = array(
"defaultTagName" => "book",
);
$serializer = new XML_Serializer($options);
查看此 link 了解更多信息:https://pear.php.net/manual/en/package.xml.xml-serializer.xml-serializer.examples.php
我在这里尝试使用 XMLSerializer class 将数据从 mysql table 转换为 xml file.I 想要 xml文件要像这样
为此,我需要将数字索引更改为 'book'。目前我可以生成以下数组 form:It 具有数字索引,但出于我的目的,两个索引 (0和 1) 必须是 'book'.
如何将两个数字索引都更改为 'book'?
完整代码:
include('XMLSerializer/XML/Serializer.php');
$host='localhost';
$user='root';
$pass='';
$db='xmlserializer';
$dbh=new PDO("mysql:host=$host;dbname=$db",$user,$pass);
$sql='SELECT lname,fname FROM employee';
$sth=$dbh->prepare($sql);
$sth->execute();
$xml=array('library'=>array());
$i=0;
while($result=$sth->fetch(PDO::FETCH_ASSOC)){
array_push($xml['library'],$result);
}
print_r($xml);
$serializer=new XML_Serializer();
$result=$serializer->serialize($xml);
if($result===true){
file_put_contents('myxml.xml',$serializer->getSerializedData());
}
你需要在XML_Serializer
中设置default tag
:
所以你的代码应该是:
$options = array(
"defaultTagName" => "book",
);
$serializer = new XML_Serializer($options);
查看此 link 了解更多信息:https://pear.php.net/manual/en/package.xml.xml-serializer.xml-serializer.examples.php