首页 > 解决方案 > PHP 警告:非法字符串偏移 'text'

问题描述

我在 PHP 中不断收到以下错误:

[13-Jul-2019 06:49:43 UTC] PHP 警告:第 15 行 /home/catchandreport/public_html/sweettune.info/LikeDislike/index.php 中的非法字符串偏移“文本”

有什么办法可以用其他东西替换我的字符串吗?

我还没有尝试过任何东西。当我这样做时,这是一个完全不同的问题,但在另一行代码中我得到了

非法字符串偏移 'id'

我做错了什么可以改变吗?

  <?php echo $post['text']; ?>
  <div class="post-info">
    <!-- if user likes post, style button differently -->
    <i <?php if (userLiked($post['id'])): ?>
          class="fa fa-thumbs-up like-btn"
      <?php else: ?>
          class="fa fa-thumbs-o-up like-btn"
      <?php endif ?>
      data-id="<?php echo $post['id'] ?>"><img src="catlogo.ico"></i>
    <span class="likes"><?php echo getLikes($post['id']); ?></span>

标签: phpmysqlbutton

解决方案


听起来 $post["text"] 的值未在您的数组中设置。

如果您不确定您正在使用的数组部分/键是否存在,则应始终先对其进行测试:

$textVar = (isset($post["text"]) ? $post["text"] : "YOUR ALTERNATE VALUE");

甚至可以检查您的数组是否已设置:

$post = (is_array($post) ? $post : array());

如果您无法获得正确的值,请尝试 var_dump 您的数组以查看类型和内容:

var_dump($post);

希望能帮助到你


推荐阅读