0

我的数组中的值为

$itsthere = (item1-0-100, item2-0-50, item3-0-70, item4-0-50, item5-0-100);

如果用户输入item3他必须得到的值,该值70存在于数组中。我尝试了很多使用explode,但它没有显示出正确的价值。谁能帮我。

4

3 回答 3

5

尝试:

$itsthere = array(
  'item1-0-100',
  'item2-0-50',
  'item3-0-70',
  'item4-0-50',
  'item5-0-100'
);

$search = 'item3';
$output = '';

foreach ( $itsthere as $value ) {
  if ( strpos($search . '-', $value) === 0 ) {
    $output = explode('-', $value)[2];
    break;
  }
}
于 2013-08-30T10:55:01.530 回答
1

当您说 item3 时,您是指第三个位置还是 item3 作为数组键?我认为您可以创建一个 assoc 数组并将项目名称作为键

$isthere = array('item1' => '0-100', 'item2' => '0-50' ,'item3' => '0-70', ....,);
echo $isthere['item3']; // This would give you the value.

如果您只想知道此键是否在数组中,请使用 array_key_exists。

于 2013-08-30T10:59:02.937 回答
-1

试试这个 :

    $item = 'item3';
    $itsthere = array('item1-0-100', 'item2-0-50', 'item3-0-70', 'item4-0-50', 'item5-0-100');

    foreach($itsthere as $there)
    {
        $exp = explode('-',$there);
        if($exp[0] == 'item3') {
            echo $val = $exp[2];
        };
    }
于 2013-08-30T11:01:25.940 回答