PHP——识别foreach中的最后一个键以删除最后一个delimeter
我一直在努力让它工作,虽然我已经尝试了许多方法张贴在这个网站上的其他网页,我不能让他们任何工作 我需要确定最后一个关键点,这样我的结果就不会在最后出现错误。这听起来像是一项如此简单的任务,但我似乎无法让它工作!在这一点上,我猜我只是有一个打字错误或一些我忽略了。任何帮助都将不胜感激 这就是我所拥有的:PHP——识别foreach中的最后一个键以删除最后一个delimeter,php,foreach,key,comma,Php,Foreach,Key,Comma,我一直在努力让它工作,虽然我已经尝试了许多方法张贴在这个网站上的其他网页,我不能让他们任何工作 我需要确定最后一个关键点,这样我的结果就不会在最后出现错误。这听起来像是一项如此简单的任务,但我似乎无法让它工作!在这一点上,我猜我只是有一个打字错误或一些我忽略了。任何帮助都将不胜感激 这就是我所拥有的: <?php $searchString = $_GET["s"]; $prefix = 'http://link_to_my_xml_file.xml?q=';
<?php
$searchString = $_GET["s"];
$prefix = 'http://link_to_my_xml_file.xml?q=';
$suffix = '&resultsPerPage=100';
$file = $prefix . $searchString . $suffix;
if(!$xml = simplexml_load_file($file))
exit('False'.$file);
foreach($xml->results->result as $item) {
echo $item->sku . ",";
}
?>
results->result as$item){
echo$item->sku;
}
?>
现在这一切都很好,它只是有一个,在结尾:
12345234563456745678
作为参考,我的xml文件的布局如下:results->result->sku,但混合了更多内容。我只是挑出字段。使用
应输出:
12345,23456,34567,45678
如果您的键按数字顺序排列,如:0、1、2、3等,这可能是一个解决方案:
foreach($xml->results->result as $key => $item)
{
if( $key > 0 ) echo ", ";
echo $item->sku
}
可能的解决方案#1:
可能的解决方案#2:
您可以将所有内容放入stribg中,然后运行:
substr($yourstr, 0, -1);
在代码上删除最后一个字符:
或者获取数组中的条目总数并计算您的位置是否考虑识别第一个
$first = true;
foreach($xml->results->result as $item) {
if ($first) {
$first = false;
} else {
echo ',';
}
echo $item->sku;
}
$items = array();
foreach ($xml->results->result as $item) {
$items[] = $item->sku;
}
echo join(', ', $items);
substr($yourstr, 0, -1);
$first = true;
foreach($xml->results->result as $item) {
if ($first) {
$first = false;
} else {
echo ',';
}
echo $item->sku;
}