这是我的reg.xml:
<childrens>
<child_4 entity_id="4" value="Activities" parent_id="2">
<child_10066 entity_id="10066" value="Physical1" parent_id="4">
<child_10067 entity_id="10067" value="Cricket" parent_id="10066">
<child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
</child_10067>
</child_10066>
</child_4>
<child_4331 entity_id="4331" value="Region" parent_id="2">
<child_5069 entity_id="5069" value="Irungattukottai" parent_id="4331"/>
</child_4331>
</childrens>
这是我的product.xml
文件:
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"/>
<region_timezone value="1"/>
<registrationstatus value="2"/>
<eventstatus value="2"/>
<dist_activity value="5"/>
<dist_activity value="10068"/>
<dist_activity value="10070"/>
<dist_region value="5069"/>
<dist_region value="5069"/>
<dist_region value="5069"/>
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2"/>
<region_timezone value="1"/>
<registrationstatus value="2"/>
<eventstatus value="2"/>
<dist_activity value="5"/>
<dist_activity value="10069"/>
<dist_activity value="10070"/>
<dist_region value="4457"/>
<dist_region value="7140"/>
<dist_region value="5069"/>
</tab_id>
</product_id>
</products>
这是我的尝试:
<?php
$abc= $_POST['name'];
list($first,$second) = explode('in',$abc);
$text1[]=$first;
$text2[]=$second;
foreach($text1 as $event)
{
$event;
}
foreach($text2 as $region1)
{
$region1;
}
$r = file_get_contents('reg.xml');
$p = file_get_contents('product.xml');
$region = simplexml_load_string($r);
$product = simplexml_load_string($p);
list($entity) = $region->xpath("//*[@value='$event']/@entity_id");
$entity=(string)$entity;
echo "event:- $event, Region:- $region1, entity:- $entity";
?>
这是我的HTML文件:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(function(){
$("#filter").click(function(){
var name = $('#select').val();
alert(name);
$.ajax({
type: "POST",
data: {"name":name} ,
url: "array.php",
async: false,
success: function(result) {
alert(result);
$("#result").text(result);
}
});
});
});
</script>
</head>
<body>
<input type="text" id="select">
<input type="button" id="filter" name="button" value="Search">
<div id="result">
</div>
</body>
</html>
我在文本框中输入了这个值:
One Day in Irungattukottai
我已尝试使用此代码,但该代码无法使用,但它无法提供给我$entity
。
如果我尝试手动设置$event
例如: - $event
= "One Day"
值,则工作
所以帮助我解决这个问题,我想我的foreach
中的错误。
感谢。
答案 0 :(得分:0)
foreach代码看起来很奇怪 - 不确定你在那里尝试做什么。但我认为你遇到的实际问题是爆炸(),因为它没有看到'in'这两个词的任何一侧的空间,所以你的一天最终将有一个空间,Irungattukottai将在开始时有一个空间。
你可以通过在explode()中包含空格或在它产生的两个字符串上使用trim()来解决这个问题。