如何设置变量分隔符
How to set a variable separator
我有一个变量 $cameramodel
,其中包含 wordpress 分类法的术语元:
<?php
function cameramodel() {
$terms = get_the_terms($post->ID, 'camera');
$result = "";
foreach ($terms as $term) {
$term_id = $term->term_id;
$result .= get_term_meta( $term_id, 'model', true );
}
return $result;
}
$cameramodel = cameramodel(); ?>
在前端我会回应$cameramodel
<?php echo $cameramodel; ?>
有些情况下 $cameramodel
包含多个值,但当我回显 $cameramodel
时,它们都出现在一行中,没有空格。我的问题是,如何在每个值之间创建分隔符?我希望每个值都在它自己的行上,并且我希望能够用 "and".
这个词将它们分开
例如,如果变量包含"one two three",它当前打印"onetwothree",但我想要的是:
one and
two and
three
希望我说清楚了。
谢谢!
如果您愿意稍微编辑函数,我相信您会受益于使用数组,然后将其连接成一个字符串,并将您选择的分隔符作为参数传递:
<?php
function cameramodel($delimiter) {
# Get the terms.
$terms = get_the_terms($post -> ID, "camera");
# Create an array to store the results.
$result = [];
# Iterate over every term.
foreach ($terms as $term) {
# Cache the term's id.
$term_id = $term -> term_id;
# Insert the term meta into the result array.
$result[] = get_term_meta($term_id, "model", true);
}
# Return the elements of the array glued together as a string.
return implode($delimiter, $result);
}
# Call the function using a demiliter of your choice.
$cameramodel = cameramodel(" and<br>");
?>
当然,你可以在函数中嵌入你想要的分隔符作为implode
的第一个参数,而不是将它作为参数传递。
Here 是使用相同逻辑的示例。
我有一个变量 $cameramodel
,其中包含 wordpress 分类法的术语元:
<?php
function cameramodel() {
$terms = get_the_terms($post->ID, 'camera');
$result = "";
foreach ($terms as $term) {
$term_id = $term->term_id;
$result .= get_term_meta( $term_id, 'model', true );
}
return $result;
}
$cameramodel = cameramodel(); ?>
在前端我会回应$cameramodel
<?php echo $cameramodel; ?>
有些情况下 $cameramodel
包含多个值,但当我回显 $cameramodel
时,它们都出现在一行中,没有空格。我的问题是,如何在每个值之间创建分隔符?我希望每个值都在它自己的行上,并且我希望能够用 "and".
例如,如果变量包含"one two three",它当前打印"onetwothree",但我想要的是:
one and
two and
three
希望我说清楚了。
谢谢!
如果您愿意稍微编辑函数,我相信您会受益于使用数组,然后将其连接成一个字符串,并将您选择的分隔符作为参数传递:
<?php
function cameramodel($delimiter) {
# Get the terms.
$terms = get_the_terms($post -> ID, "camera");
# Create an array to store the results.
$result = [];
# Iterate over every term.
foreach ($terms as $term) {
# Cache the term's id.
$term_id = $term -> term_id;
# Insert the term meta into the result array.
$result[] = get_term_meta($term_id, "model", true);
}
# Return the elements of the array glued together as a string.
return implode($delimiter, $result);
}
# Call the function using a demiliter of your choice.
$cameramodel = cameramodel(" and<br>");
?>
当然,你可以在函数中嵌入你想要的分隔符作为implode
的第一个参数,而不是将它作为参数传递。
Here 是使用相同逻辑的示例。