下面是我的代码:
<?php
$array = explode("'n", $order['payment_address']);
$firstLine = $array[0];
echo $firstLine;
?>
我要做的是从$order['payment_address']中获取第一行的客户名称并打印出来。Payment_address包括几行,顶部有客户名称。尝试了本·珀尔·卡汉的代码,输出现在为 -
鲍勃·史密斯12
第 1 行:鲍勃·史密斯122号线:卡诺特广场德里 282010北方邦印度
虽然我只想要"鲍勃史密斯"。
我是新手。请帮忙。
如果您不确定变量中的内容,请始终使用 var_dump()。在浏览器中查看
echo '<pre>'; var_dump($order['payment_address']); echo '</pre>';
以下正则表达式将在任何换行序列或<br>
处拆分并返回第一个非空项。
$firstLine = preg_split('~<br */?>|'R~i', $order['payment_address'], -1, PREG_SPLIT_NO_EMPTY)[0];
在 eval.in 观看演示
不提供 $order["payment_address"]
的输出,这应该会有所帮助:
//Trim whitespace from start/end of string
$pa = trim($order["payment_address"]);
//Check if the value is empty
if(!empty($pa)){
//Explode by line
$array = explode("'n", $pa);
//Echo out first line
echo "First line: {$array[0]}<br><br>";
//See data line-by-line
$num = 0;
foreach($array as $line){
$num++;
echo "Line $num: $line<br>";
}
} else echo "Payment address is empty!<br>"; //Output error if $pa is empty
对于逗号分隔的值:
//Trim whitespace from start/end of string
$pa = trim($order["payment_address"]);
//Check if the value is empty
if(!empty($pa)){
//Explode by line
$array = explode(", ", $pa);
//Echo out first line
echo "First line: {$array[0]}<br><br>";
//See data line-by-line
$num = 0;
foreach($array as $line){
$num++;
echo "Line $num: $line<br>";
}
} else echo "Payment address is empty!<br>"; //Output error if $pa is empty