0

array() 関数に文字列変数を渡す方法はありますか:

$ints = '112233,112234';
$arr = array($ints);

//instead of

$arr = array(112233,112234);

他にもたくさんの方法があることは知っていますが、文字列を渡すことが私の唯一のオプションです。

$stArr = array();
foreach($dataTeacherAssWr[0]->getStudents() as $student) {
    $stArr[] = $student->getIdUser();
}
MyCacheManager::clearAssignmentCacheOnHomepageForUsers($_SESSION['id_user'], $stArr);

and the method:

public static function clearAssignmentCacheOnHomepageForUsers($teacherId, $studentId) {
    return self::clearAssignmentCacheOnHomepage(
        Array(
            'teacherIds' => array($teacherId),
            'studentIds' => array($studentId)
        )
    );
}

ご覧のとおり、$studentId を文字列の「フラット」ID として渡すことができます

4

4 に答える 4

3

分解機能を使用して、カンマで区切られた数値を配列に分割してみてください...

explode(',', $ints);

あなたの例では...

$ints = '112233,112234';
$arr = explode(',', $ints);

次の出力が生成されます。

Array ( [0] => 112233 [1] => 112234 )

文字列を言語構成体 array() に渡そうとする場合、それは単純にできません。たとえば、カンマ区切りのリストを与えることはできますarray(112233, 112234);、与えることはできません。array("112233,112234");

コンマが整数のリストを分離していること、およびそれを分割したいことを認識しません。気にするのは、文字列を指定したことだけなので、文字列を含む配列を作成します。マインドリーダーではないので、自分で値を分離する必要があります。

于 2012-11-16T09:32:14.923 に答える
2

You could use explode()

$array = explode(",", $string);

Input:

$string = '112233,112234';
$array = explode(",", $string);
var_dump($array);

Output:

array(2) { [0]=> string(6) "112233" [1]=> string(6) "112234" }
于 2012-11-16T09:32:39.543 に答える
1

これは別の方法です:

    $separator=",";
    $str="112233,112234,112235,112236,112237";
    $arr = explode($separator, $str);
    //print_r($arr);
于 2012-11-16T10:11:32.317 に答える
1

データをコンマ区切りの文字列にする必要がある場合は、単純explodeにコンマで配列を取得できます。

$ints = '112233,112234';
$arr = explode(',', $ints);
于 2012-11-16T09:32:41.570 に答える