Echo只打印更新到php7后字符串的第一个字符

Echo只打印更新到php7后字符串的第一个字符,php,html,wordpress,string,echo,Php,Html,Wordpress,String,Echo,我正在一个wordpress网站上工作,我希望文章标题出现在头版。由于我缺乏经验,我模仿了已经存在的代码(显示类别标题)。我基本上创建了一个名为$title的标题数组,它解析get_对应文章的标题。我不能说我完全理解整个结构,但它一开始是有效的 但是,我刚刚更新到PHP7,它没有打印完整的标题,而是只打印文章标题的第一个字符。 也许我用错了数组,或者“get_the_title”函数被更改了,但我似乎无法让它像以前那样工作。任何提示都将不胜感激 基本结构如下所示。但是,整个代码要大得多,它是已经

我正在一个wordpress网站上工作,我希望文章标题出现在头版。由于我缺乏经验,我模仿了已经存在的代码(显示类别标题)。我基本上创建了一个名为$title的标题数组,它解析get_对应文章的标题。我不能说我完全理解整个结构,但它一开始是有效的

但是,我刚刚更新到PHP7,它没有打印完整的标题,而是只打印文章标题的第一个字符。 也许我用错了数组,或者“get_the_title”函数被更改了,但我似乎无法让它像以前那样工作。任何提示都将不胜感激

基本结构如下所示。但是,整个代码要大得多,它是已经存在的WP特性的一部分

$count  =   0;
while ( $cat_query->have_posts() ) :
$cat_query->the_post();
global $post;

$thumb[$count]  =   get_post_thumbnail_id( $post->ID );

$title[$count] = get_the_title( $post->title);

$count++;


<div class="category-thumb-1 grid-item">
   <?php if ( isset($thumb[0]) && ($thumb[0] != '') ) : echo wp_get_attachment_image( $thumb[0], 'large');
   <div class="post-title-1">
   <a href="<?php echo $link[0]?>" <span><?php echo $title[0]?></span></a>
   </div>
</div>
$count=0;
而($cat\u query->have\u posts()):
$cat_query->the_post();
全球$员额;
$thumb[$count]=获取帖子缩略图id($post->id);
$title[$count]=获取标题($post->title);
$count++;

好的,谢谢大家的建议。最后,我成功地启动了var_转储(这将在将来对我有很大帮助),并找到了解决方案

var_dump给我的不是数组,而是标题的前三个字符组成的字符串(因此,如果我的标题是“苹果”“梨”“香蕉”,那么我的$title将设置为“APB”,而不是0->Apple,1->Pear,2->Banana的数组。奇怪的是,$link数组完全按照我的意愿工作


我最终改变了名称,并让$link在获取标题时工作。然后我决定将$title重命名为$titl,这就成功了。不知道为什么。

您描述的行为表明您将
$title
初始化为字符串,而不是数组
[]
然后访问该字符串的第n个字符并用一个字符填充它

此行为的示例可以通过以下示例看到:

$test = '';
for($count = 0; $count < 5; $count++) {
    $test[$count] = $count;
}

这里的语法似乎有点不正确,但只是作为一个例子修改了它。

这可能发生在
$title[0]
如果
$title
是一个字符串而不是数组。要检查这一点,请尝试使用
$title
并查看它显示的内容。如果执行变量转储,
$title
会显示什么?$title包含数组中标题的所有第一个字符。要读取此内容,请尝试使用$title=get\u title($post->title);然后或者只是$title=$post->title;你只需要对$post->title、$post和$title进行一些var_转储或回显。计算出你拥有的内容和需要回显的内容。说实话,我不知道如何进行var_转储,但我会根据你的建议尝试移动一些内容,谢谢:)
$test = array();
for($count = 0; $count < 5; $count++) {
    $test[$count] = $count;
}
while ( $cat_query->have_posts() ) :
    $cat_query->the_post();
    global $post;
    $thumb_unique[] = get_post_thumbnail_id( $post->ID );
    $title_unique[] = get_the_title( $post->title);
<div class="category-thumb-1 grid-item">
   <?php if ( isset($thumb_unique[0]) && ($thumb_unique[0] != '') ) : echo wp_get_attachment_image( $thumb_unique[0], 'large');
   <div class="post-title-1">
   <a href="<?php echo $link[0]?>" <span><?php echo $title_unique[0]?></span></a>
   </div>
</div>