2017-07-14 5 views
-2

PHPでinbuilt関数を使用せずに、整数、文字列、特殊記号が配列にある場合、配列から最大値を見つける方法は?PHPでinbuilt関数を使用せずに、整数、文字列、特殊記号が配列にある場合、配列から最大値を見つける方法は?

+1

これは何らかの種類の学校の割り当てのように聞こえる。通常は、すでに利用可能な機能を利用することができます。これははるかに簡単です。しかし、配列をループして見つけた最大の数で変数を設定し、ループするときに大きな数値を見つけたら上書きしてください。 – Qirel

答えて

0

はこれを使用してみてください:

$maxs = array_keys($array, max($array)); 
+0

ありがとうございますが、inbuilt関数なしで完了します –

+0

それは私に組み込まれた関数のようです。あなたはその質問を読んだのですか? – Andreas

0

イムは、私はあなたがここに欠けているものを理解していませんか?配列自体にどれくらい格納できるか知りたいですか?あるいは、1がAが@よりも大きい場合は?

あなたはどうやって、どうして、なぜあなたは、PHP関数を使いたくないのですか?それは何のためにそこにいるのですか?

この質問には、あなたの変数のどれが物理的に最も大きいかを示すことができると思われる回答があります。

How to get the size of the content of a variable in PHP

私はこれは何とか役に立てば幸い?

0

is_numericはPHPの組み込みメソッドです。それを使用したくない場合は、(int)を使用してキャストを入力してチェックする必要があります。あなたは配列から最大値を見つけることができ、このコードを使用して

$arr = [1, 3, -10, 'string', true, [23]]; 
$max = null; 
foreach($arr as $key => $val) { 
    if (is_numeric($val)) { 
     if ($max == null) { 
      $max = $val; 
     } else if ($val > $max) { 
      $max = $val; 
     } 
    } 
} 
0

:あなたは数学を試みることができるし、それが失敗した場合、それは数値ではない文字列やブール値に数学を行うことはできませんので

$array = array('a','b',1,2,'$','^'); 
$max = $temp = 0; 

//This loop is to get max value from array 
for ($i = 0 ; $i < count($array); $i++) {  
    if ($i == 0) { 
     $max = $temp = $array[$i]; 
    } 
    if ($i > 0) { 
     if ($array[$i] > $temp) { 
      $max = $array[$i]; 
     } 
    } 
} 

print_r($max); 
+0

文字列と比較する方法 –

+0

数値を文字列と比較するか、数値の文字列を比較する場合、各文字列は自動的に数値に変換され、数値的に比較が行われます。 詳細については、以下のリンクを確認してください: http://php.net/manual/en/language.types.string.php#language.types.string.conversion –

+0

ありがとう..... –

0

$arr = [1, "BBB", 23, -10, 'str', true, false, 50, "@", "$"]; 
$max = 0; 
Foreach ($arr as $v){ 
    If([email protected]$v/1==0 && $v>$max) $max =$v; 
} 

Echo $max; 

https://3v4l.org/Po31i

あなたが "STR"/1を試す場合は、結果0とエラー通知を取得します。
@はエラーを抑制します。

編集、忘れた特別な記号の配列

関連する問題