![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.5ベストアンサー
- 回答日時:
数字の順番にしたいのであれば
sort($myArray);
としてから行えばよいかと。
ただしソート前の順番は失われるので前の順番があとで必要であれば配列をコピーして残しておいたほうがいいですね。
なるほど!
3つの関数を1行で書こうとしましたができないみたいなんでユーザー定義関数にしました。
$maxKey = getMaxKey_fc($myArray);
function getMaxKey_fc($myArray){
ksort($myArray);
$maxKey = array_pop(array_keys($myArray));
return $maxKey;
}
今更ながら気付きましたが、PHPの配列はActionScriptやPerlの配列とは全く違いますね。いやこれは配列なんかじゃない!ハッシュですよね。
そう考えると全ての謎が解けた気がします。ありがとうございました。
No.4
- 回答日時:
end($myArray);//最後の要素
echo key($myArray);//のキー
この回答への補足
なるほどと思ったのですが、
$myArray = array();
$myArray[2] = '';
$myArray[5] = 'a';
$myArray[9] = NULL;
$myArray[12] = 'z';
$myArray[1] = 'w';
等とすると結果は「1」となります。やっぱりダメなんでしょうか??
おお!
配列にはポインターという概念があったのですね。
ポインターを末尾に動かして、その位置を得る。
ん~ なるほどありがとうございました。
No.3
- 回答日時:
いろいろな方法があるとは思いますが、例えばこんな感じでしょうか。
<?php
$myArray = array();
$myArray[2] = '';
$myArray[5] = 'a';
$myArray[9] = NULL;
$myArray[12] = 'z';
foreach ($myArray as $key => $value) {
if (end($myArray) == $value) {
print "最終要素のキーは" . $key . "です。";
}
}
?>
(注)インデントのため、全角空白を使っています。
この回答への補足
なるほどと思ったのですが、
$myArray = array();
$myArray[2] = '';
$myArray[5] = 'a';
$myArray[9] = NULL;
$myArray[12] = 'z';
$myArray[1] = 'w';
等とすると結果は「1」となります。やっぱりダメなんでしょうかね
No.2
- 回答日時:
#1ですが追記です。
array_pop($myArraykeys)を行うと、キーだけの配列$myArraykeysから実際に最後の要素が取り除かれるので
$myArraykeys = array_keys($myArray);
で得たキーだけの配列$myArraykeysを他にも利用する場合は注意してください。
array_popを使う前に別名の配列を作成してコピーしておくとか。
この回答への補足
なるほどと思ったのですが、
$myArray = array();
$myArray[2] = '';
$myArray[5] = 'a';
$myArray[9] = NULL;
$myArray[12] = 'z';
$myArray[1] = 'w';
等とすると結果は「1」となります。やっぱりダメなんでしょうか?
なるほど!
配列自身をいじればわかるというわけですか。
count()じゃわからないしどうしようかと悩んでました。
簡単な方法があって助かりました。
ありがとうございました。
No.1
- 回答日時:
//キーだけを抜き出して配列にする
$myArraykeys = array_keys($myArray);
//最後の要素を抜き出す
$lastkey = array_pop($myArraykeys);
こんな方法でどうでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) シートを配列にいれることはできますか? 3 2023/06/04 19:06
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- JavaScript 配列の1要素を代入した変数を使って元の配列要素を削除できるか 1 2023/07/28 03:34
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルから指定行数分だけ読...
-
String だと「 ByRef引数の型が...
-
PHPにてクラスを配列にすること...
-
PHPのカッコ[ ]の使い方について
-
配列をループでたくさん宣言し...
-
Smartyの自作プラグインで配列...
-
チェックボックスが複数選択で...
-
配列一致(要素順番は違うが内容...
-
ExcelVBAのチェックボックスに...
-
Yahoo API WEB検索の事で!
-
配列をmysqlに保存
-
多次元連想配列のキーを変数で...
-
URLのサブドメインとドメイン部...
-
PHPの preg_grep関数(正規表現...
-
Windowspowershellの変数について
-
foreach($ptr as $valueptr) の...
-
セッション配列の取得の仕方
-
連想配列を array_multisort()...
-
変数の名前をループで
-
CSVデータの一部を変換したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
$_SESSIONに二次元配列を使える...
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
foreachのなかで次のキーを参照...
-
String だと「 ByRef引数の型が...
-
PHPのカッコ[ ]の使い方について
-
配列を回すとき、最後の要素だ...
-
配列一致(要素順番は違うが内容...
-
チェックボックス複数選択 mys...
-
漢字のソートについて
-
postgresql関数をつかったレコ...
-
ネストが深い時のforeachはどう...
-
URLのサブドメインとドメイン部...
-
OCI で、SELECT結果行数を取得...
-
【Smarty】foreach関数やsectio...
-
$_POSTを一括してサニタイズし...
-
phpで、連想配列を普通の配列に...
-
チェックボックスが複数選択で...
-
連想配列のprint_rやvar_dump出...
-
PHP 配列の添字に変数は使えない?
おすすめ情報