1

いくつかの文字列があります。最初の値を検索して、そこから他の値を取得するにはどうすればよいですか?

print_rまたは?:

Array( [0] => Title,11,11 [1] => Would,22,22 [2] => Post,55,55 [3] => Ask,66,66 )

お気に入り:

この配列値Titleを送信して値を取得する場合または取得する値をTitle,11,11
送信する または取得Wouldする値Would,22,22
を送信する またはPost取得する値Post,55,55
を送信AskするAsk,66,66

どうすればできますか?

4

5 に答える 5

1

foreachで配列をループし、値をstrposと一致させます。

于 2011-09-18T21:09:46.377 に答える
1

仮定する:

$arr = Array( [0] => Title,11,11 [1] => Would,22,22 [2] => Post,55,55 [3] => Ask,66,66 )
$string = 'Would'; 

それから

//Call the function with the search value in $string and the actual array
$required_arr[$string] = search_my_array($string, $arr);

function($str , $array)
{
    //Trace the complete array
    for($i = 0; $i<count($array); $i++)
    {  
        //Break the array using explode function based on ','
        $arr_values[$i] = explode(',',$array[i])
        if($str == $arr_values[$i][0]) // Match the First String with the required string
        {
            //On match return the array with the values contained in it
            return array($arr_values[$i][1], $arr_values[$i][2]);
        }
    }
}

$required_arr['Would']    // will hold Array([0] => 22 [1] => 22)
于 2011-09-18T21:09:56.787 に答える
1

配列を検索する関数を作成します。これで十分に機能するはずです

<?php
  // test array
  $arr = array('Title,11,11','Would,22,22','Post,55,55','Ask,66,66');
  // define search function that you pass an array and a search string to
  function search($needle,$haystack){
    // loop over each passed in array element
    foreach($haystack as $v){
      // if there is a match at the first position
      if(strpos($v,$needle) === 0)
        // return the current array element
        return $v;
    }
    // otherwise retur false if not found
    return false;
  }
  // test the function
  echo search("Would",$arr);
?>
于 2011-09-18T21:19:50.403 に答える
0

指標は重要ですか?なぜだめですか ..

$arr = array(
  'Title' => array(11, 11),
  'Would' => array(22, 22),
  'Post' => array(55, 55),
  'Ask' => array(66,66)
);

$send = "Title";     // for example
$result = $arr[$send];
于 2011-09-18T21:14:23.047 に答える
0

次のようなものを使用して、配列全体をループしないようにしてください。

$array = array( "Title,11,11", "Would,22,22", "Post,55,55", "Ask,66,66" );
$key = my_array_search('Would', $array);
$getvalues = explode(",", $array[$key]);

function my_array_search($needle = null, $haystack_array = null, $skip = 0)
{
    if($needle == null || $haystack_array == null)
        die('$needle and $haystack_array are mandatory for function my_array_search()');
    foreach($haystack_array as $key => $eval)
    {
        if($skip != 0)$eval = substr($eval, $skip);
        if(stristr($eval, $needle) !== false) return $key;
    }
    return false;
}
于 2011-09-18T21:23:18.467 に答える