
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
フォームで戻った際に入力済み...
-
SplFileObject を利用したとき...
-
csvファイルについて教えて下さ...
-
PHP8でWarning:Undefined varia...
-
PHPSpreadsheetによる書き出し...
-
PHPの変わった閉じタグの必要性...
-
セッション関数を使わずにファ...
-
composerをインストールしたい...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
file_existsでファイル名の部分...
-
配列をループでたくさん宣言し...
-
PHPのカッコ[ ]の使い方について
-
String だと「 ByRef引数の型が...
-
foreachのなかで次のキーを参照...
-
$_SESSIONに二次元配列を使える...
-
PHP掲示板で新着順に表示させた...
-
チェックボックス複数選択 mys...
-
$_POSTを一括してサニタイズし...
-
Smartyでtplファイルから配列を...
-
ネストが深い時のforeachはどう...
-
配列をmysqlに保存
-
プルダウンメニューでCSVデータ...
-
postgresql関数をつかったレコ...
-
禁止ワード設定
-
sortableで並べ替えてDBに保...
-
ファイルから指定行数分だけ読...
-
配列を分解したいのですが
-
リストビュー 条件により表示
-
配列一致(要素順番は違うが内容...
おすすめ情報