0

ねえ、私はphpのクラスと配列に不慣れですが、このクラス関数配列から正しい値を取得する方法を見つける必要があります

class theCart {
    public static $DISTANCE = array(
      '0'  => '0 - 75',
      '10' => '76 - 125',
      '20' => '126 - 175',
      '30' => '176 - 225',
      '40' => '226 - 275',
      '50' => '276 - 325'
    );
}

私が一致させようとしている私の出力は次のようになります:76-125

私はそれを次のように呼んでいますか

 $distanceNum = '76 - 125';
 $tmpDistanceTotal = $DISTANCE($distanceNum);

$ tmpDistanceTotalの値は10にする必要がありますか?配列には値0、10、20、30、40、50しか含まれていないと思いますか?

私は別の配列を持っています:

public static $STEPS = array(
    '0' => 0,
    '1' => 0,
    '2' => 0,
    '3' => 25,
    '4' => 50,
    '5' => 75,
    '6' => 100,
    '7' => 125
);

上記と一致させようとしている私の出力は3です。文字列を探しているかどうかわかりませんか?

4

4 に答える 4

3

これにより、要点が明確になります。

foreach (theCart::$DISTANCE as $k => $v) {
    if ($v == '76 - 125') {
        echo $k;
        break;
    }
}
于 2012-10-30T15:43:09.860 に答える
2

$ tmpDistanceTotalで値10を取得するには、次のようにします。

$tmpDistanceTotal = array_search($distanceNum, theCart::DISTANCE);

または、次のような結果になりたい場合があります。

class theCart {
    public static $DISTANCE = array(
      '0'  => '0 - 75',
      '10' => '76 - 125',
      '20' => '126 - 175',
      '30' => '176 - 225',
      '40' => '226 - 275',
      '50' => '276 - 325'
    );

    public function getTotalDistance($distanceNum)
    {
         return array_search($distanceNum, self::DISTANCE);
    }
}
于 2012-10-30T15:51:39.100 に答える
1

あなたの質問は実際には配列に関するものです。理解しやすくするために、ここからクラスを削除する必要があります。

$DISTANCE = array(
  '0'  => '0 - 75',
  '10' => '76 - 125',
  '20' => '126 - 175',
  '30' => '176 - 225',
  '40' => '226 - 275',
  '50' => '276 - 325'
);

$variable = $DISTANCE[10];

上記の例では、Variableは76-125に等しくなります。あなたは連想配列を扱っているので、質問が配列がどのように機能するかを本当に理解していないことを示しているので、それらを少し読んでおく必要があります。それが終わったら、先に進んで、上記のようなクラスコンテキストに移動します。

ここでPHPマニュアルをチェックできます:http://php.net/manual/en/language.types.array.php

短くて迅速な答えのためにあなたは使うことができます

 $tempVar = 10;
 $tmpDistance = $this->DISTANCE[$tempVar];
于 2012-10-30T15:44:47.707 に答える
1

何をしようとしているのかわかりませんが、array_searchを使用できます。

$distanceNum = '76 - 125';
$key = array_search($distanceNum, theCart::$DISTANCE);

$key現在は10です。

于 2012-10-30T15:46:45.310 に答える