Php 注意:未定义的属性:stdClass::$collation

Php 注意:未定义的属性:stdClass::$collation,php,solr,Php,Solr,当我从Solr获得Dod you mean字符串时,我得到以下警告。有办法摆脱这一切吗 if (is_object($results->spellcheck)){ $didyoumean = $results->spellcheck->suggestions->collation; } else{ $didyoumean=false; } 提前感谢:)检查排序规则是否为空或其是否存在实际值 if (isset($results->spellcheck

当我从Solr获得Dod you mean字符串时,我得到以下警告。有办法摆脱这一切吗

if (is_object($results->spellcheck)){
  $didyoumean = $results->spellcheck->suggestions->collation;
 } 
else{
  $didyoumean=false;
 }

提前感谢:)

检查排序规则是否为空或其是否存在实际值

if (isset($results->spellcheck->suggestions->collation)){
  $didyoumean = $results->spellcheck->suggestions->collation;
else{
    $didyoumean=false;
 }

希望这有帮助:)

试试
var\u dump($results->拼写检查->建议)
。您已经将建议实例化为stdClass,或者PHP已经为您完成了,但是您没有给它属性“collation”。很可能我会说$results->拼写检查->建议没有按照您的预期进行设置。@Ben Solr附带了排序规则属性,如果查询的建议(您的意思是存在的话)。很明显,$result->拼写检查->建议->排序规则可能带有null或任何字符串值。我明白你的意思,我试过了。如果solr没有任何建议,则它将打印null,否则它将带有字符串类型。