Frage

Aus dieser Zeichenfolge:

$input = "Some terms with spaces between";

Wie kann ich produzieren dieses Array?

$output = ['Some', 'terms', 'with', 'spaces', 'between'];
War es hilfreich?

Lösung

könnten Sie verwenden explode , split oder preg_split .

explode verwendet eine feste Zeichenfolge:

$parts = explode(' ', $string);

während split und preg_split einen regulären Ausdruck verwenden:

$parts = split(' +', $string);
$parts = preg_split('/ +/', $string);

Ein Beispiel, wo der reguläre Ausdruck basiert Spaltung nützlich ist:

$string = 'foo   bar';  // multiple spaces
var_dump(explode(' ', $string));
var_dump(split(' +', $string));
var_dump(preg_split('/ +/', $string));

Andere Tipps

$parts = explode(" ", $str);
print_r(str_word_count("this is a sentence", 1));

Ergebnisse in:

Array ( [0] => this [1] => is [2] => a [3] => sentence )

dachte nur, dass es sich lohnen würde zu erwähnen, dass der reguläre Ausdruck Gumbo gesendete obwohl es mehr als wahrscheinlich für ausreichend meist möglicherweise nicht alle Fälle von white-space fangen. Ein Beispiel: der regulären Ausdrucks in der genehmigten Antwort Verwendung auf der Saite unter:

$sentence = "Hello                       my name    is   peter string           splitter";

Vorausgesetzt, mich mit der folgenden Ausgabe durch print_r:

Array
(
    [0] => Hello
    [1] => my
    [2] => name
    [3] => is
    [4] => peter
    [5] => string
    [6] =>      splitter
)

Wo, wie bei der Verwendung des folgenden regulären Ausdrucks:

preg_split('/\s+/', $sentence);

Vorausgesetzt, mich mit der folgenden (gewünschten) Ausgabe:

Array
(
    [0] => Hello
    [1] => my
    [2] => name
    [3] => is
    [4] => peter
    [5] => string
    [6] => splitter
)

Hoffe, dass es jemand hilft bei einer ähnlichen Hürde stecken und ist verwirrt, warum.

Nur eine Frage, aber versuchen Sie json aus den Daten zu machen? Wenn ja, dann könnten Sie so etwas wie dies berücksichtigen:

return json_encode(explode(' ', $inputString));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top