2016-11-03 6 views
-4

に与えられたは、どのように私はPHPの警告を修正すればよい:array_unique()は、パラメータ1は、配列、文​​字列

PHPの警告を修正するための方法であることを期待:array_unique()パラメータ1が配列であることを期待し、文字列 は

に与えられました

コード:

$subitems_values=sanitize($_REQUEST['subitems']); 
$subitems_values = array_unique($subitems_values); // error line. 
$SubItemToken=implode(",", $subitems_values); 
$cnt=count($subitems_values); 
+0

から文字列を作成し、配列

  • サニタイズ機能ではありません。 –

  • +0

    $ _REQUEST ['subitems']はこの配列ですか?それは配列でなければなりません –

    +1

    あなたは$ _REQUEST ['subitems'の内容を貼り付けてください?] – shoieb0101

    答えて

    -1

    あなたはこのerrrorを取得する理由は、機能array_unique()だけその最初にargUとして配列を受け入れるということです。最初に$ subitems_valuesのデータ型を確認し、gettype()関数を使用してください。 その後、もう一度お試しください。

    $subitems_values=explode(',',$_REQUEST['subitems']); 
    if(is_array($subitems_value)){ 
        $subitems_values = array_unique($subitems_values); // error line. 
        $SubItemToken=implode(",", $subitems_values); 
        $cnt=count($subitems_values); 
    } 
    
    +1

    私はgettype()関数を使用しています。その戻り値の型は "配列"のみです。 – karthi

    +0

    @karthi $ _REQUEST ['subitems']の出力は何ですか?例を表示できますか? –

    +0

    $ _REQUEST ['subitems']が "abc、bcd、vbg"のような文字列の場合、最初に文字列を展開してください。結果をarray_unique()に適用してください。 –

    1

    sanitize()が配列を返すことを確認します。

    1

    2かのう問題

    1. $ _REQUEST [ 'サブ項目']は、あなたの `$のsubitems_values`ではなく、文字列の配列でなければなりません配列
    関連する問題