2017-01-23 9 views
2

Als Grafikdesigner bin ich nicht so versiert, wenn es um PHP-Code geht.Warnung: Ungültiger String-Offset 'Inhalt'

Warning: Illegal string 'Inhalt' Offset in webaddress/Klasse-vc-Frontend-editor.php on line 908

ich die Front-End-Editor für Visual Composer und ich bin mit hält diese Fehler kommen, wenn Sie den Code Inspektion i folgenden erhalten:

); 
     if (false !== WPBMap::getParam($s, 'content')) { 
      $shortcode['attrs']['content'] = $s 'content'; 
     } 

ich bin kompetent mit HTML, CSS und Autor, aber ich bin die Hoffnung, jemand mit erweiterten PHP-Kenntnissen der Lage, meine Frage zu beantworten.

Wenn ich die Datei nach oben in Dreamweaver öffnen, um zu versuchen, den Fehler zu diagnostizieren, erhalte ich folgende:

Linie 908: Syntaxfehler, unerwarteter quoted-string (T_CONSTANT_ENCAPSED_STRING)

Was ist falsch mit diesem Code, so dass es diese Fehlermeldung ausgibt?

Antwort

0

Sie vermissen den . Zeichen an:

$shortcode['attrs']['content'] = $s.'content'; 

Hier die manual über String-Operatoren.

+0

Dank für Ihre Hilfe Jungs viel zu schätzen wissen, hofft, dass ich irgendwann revanchieren kann: D –

0

Es scheint, dass Sie zwei Fehler haben. Eine Erläuterung finden Sie in den folgenden Listenelementen.

  1. Der Fehler in der Frage Titel:

    Warning: Illegal Zeichenfolge offset 'Inhalt'

    Diese von der Indizierung in ein Feld kommt, die keine an der Offset haben spezifizierter Index.

    $shortcode['attrs']['content'] = $s 'content'; 
    

    $shortcode['attrs'] Wenn kein Array ist oder nicht über ein Element mit dem Index 'Inhalt', dann wird dieser Fehler auftreten.Sie erklären nicht, wo $shortcode herkommt, sondern eine Möglichkeit, diesen Fehler zu vermeiden, ist zu überprüfen, ob das Array einen Index an Inhalt hat array_key_exists() mit:

    if (array_key_exists('content', $shortcode['attrs'])) { 
        $shortcode['attrs']['content'] = $s 'content'; 
    } 
    else { 
        //handle case where index isn't defined 
    } 
    

    Um noch sicherer, könnte es klug sein, um sicherzustellen, das ist ein Array mit is_array():

    if (is_array($shortcode['attrs']) && array_key_exists('content', $shortcode['attrs'])) { 
    
  2. Der zweite Fehler Sie erwähnt:

    li ne 908: Syntaxfehler, unerwartete zitierte-string (T_CONSTANT_ENCAPSED_STRING)

    Dies tritt auf, weil auf der rechten Seite der Zuweisung (in der gleichen Zeile) die Variable $s die Stringliteral voran (d.h. 'content') ohne Operator dazwischen. Ich weiß nicht, was genau Sie mit diesen beiden Operanden machen wollen, aber vielleicht sollten sie verkettet werden. Dies kann mit dem string operatorPunkt (d. H. .) erreicht werden.

    $shortcode['attrs']['content'] = $s . 'content'; 
    
Verwandte Themen