PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPを使用して文字列を分解するときに、空の値をすべて削除するにはどうすればよいですか?


preg_split()のarray_filter()またはPREG_SPLIT_NO_EMPTYオプションを使用すると、文字列が展開されたときに文字列から空の値を削除できます-

<?php
$_POST['tag'] = ",abc,defg,,,hijk,lmnop,,0,,";
echo "--- version 1: array_filter ----\n";
// note that this also filters "0" out, since (bool)"0" is FALSE in php
// array_filter() called with only one parameter tests each element as a boolean value
$tags = array_filter( explode(",", $_POST['tag']) );
var_dump($tags);
echo "--- version 2: array_filter/strlen ----\n";
// this one keeps the "0" element
// array_filter() calls strlen() for each element of the array and tests the result as a boolean value
$tags = array_filter( explode(",", $_POST['tag']), 'strlen' );
var_dump($tags);
echo "--- version 3: PREG_SPLIT_NO_EMPTY ----\n";
$tags = preg_split('/,/', $_POST['tag'], -1, PREG_SPLIT_NO_EMPTY);
var_dump($tags);
 

出力

これにより、次の出力が生成されます-

--- version 1: array_filter ---- array(4) { [1]=> string(3) " abc " [2]=> string(4) " defg " 
[5]=> string(4) "hijk" [6]=> string(5) "lmnop" } --- version 2: array_filter/strlen ---- array(5) 
{ [1]=> string(3) "abc" [2]=> string(4) "defg" [5]=> string(4) "hijk" [6]=> string(5) "lmnop" [8]=> 
string(1) "0" } --- version 3: PREG_SPLIT_NO_EMPTY ---- array(5) { [0]=> string(3) "abc" [1]=> 
string(4) "defg" [2]=> string(4) "hijk" [3]=> string(5) "lmnop" [4]=> string(1) "0" }

  1. PHPでimagestringup()関数を使用して文字列を垂直に描画するにはどうすればよいですか?

    imagestringup() は、画像を垂直方向に描画するために使用されるPHPの組み込み関数です。 構文 bool imagestringup ($image, $font, $x, $y, $string, $color) パラメータ imagestring() $ image、$ font、$ x、$ y、$ string、$colorの6つのパラメータを受け入れます。 $ image − $imageパラメータはimagecreatetruecolor()を使用します 指定されたサイズの空白の画像を作成する関数。 $ font − $ fontパラメータは、

  2. C#の空の文字列のリストから空の文字列を削除するにはどうすればよいですか?

    まず、要素として空の文字列を含むリストを設定します。 List<string> myList = new List<string>() {    " ",    " ",    " " }; 次に、インデックスを使用して1つの空の要素を削除しましょう。 myList.RemoveAt(0); 例 using System; using System.Collections.Generic; using System.Linq; class Prog