为什么substr(...)没有做我想做的事情?

时间:2015-08-19 19:50:29

标签: php mysql wordpress wordpress-theming

我有一段代码,我可以在我的网站上生成工作列表的预览。它应该是不言自明的,但我试图在我的数据库中获取类型为VARCHAR (5000)的列的前100个字符。

            $Jobs = $wpdb->get_results('SELECT * FROM jobs');
            foreach ($Jobs as $thisJob)
            {
                // use first 100 characters of job description before a "Read more" link to the full description
                echo  ' <div class="job-row">'
                      .   '<h3 class="job-title">' . $thisJob->title . '</h3>'
                      .   '<div class="job-descr-brief">'
                      .        substr($thisJob->descr, 100) . ' <a href="' . get_site_url . '/about/careers/?jobid=' . $thisJob->id . '">Read more.</a>'
                      .   '</div>'
                      .'</div>';
            }

但出于某种原因,substr($thisJob->descr, 100)返回完整的$thisJob->descr字符串,而不仅仅是前100个字符。知道我在这里做错了什么吗?

相关文档:http://www.w3schools.com/php/func_string_substr.asp

1 个答案:

答案 0 :(得分:0)

我认为您误读了文档。

你需要像这样使用它来获得前100个字符:

substr($thisJob->descr, 0, 100);

第二个参数是您希望它开始的位置(在本例中为0,即开头)。