配列と乱数

2024.04.10

Logging

おはようございます、配列の中からランダムでデータを取得したい場合はアレイランドがベストです.この関数の良いところは、指定回数が設けれているところです.デフォルトは1回に設定されていてintで返却されますが、指定数が1以上の場合は配列にインデックスが返されます.

自分の説明が分からない方用に、Geminiにも解説してもらいます.

PHPのarray_rand関数は、配列からランダムな要素(キー)を1つまたは複数取得する関数です。

array_rand(array $input, int $num_req = 1): mixed
  • $num_reqが1の場合: ランダムな要素(キー)
  • $num_reqが1より大きい場合: ランダムな要素(キー)の配列
https://gemini.google.com/

この関数を知る前は配列をカウントしてランダムを発生していましたが、array_rand関数を知ってからはこちらを使用しています.調べたところ他の言語でも同じ様な関数が用意されているようですね.

明日へ続く.

タグ

$num_req, array, array_rand, array_rand関数, gemini, input, int, mixed, php, アレイランド, インデックス, キー, デフォルト, ランダム, 指定回数, 複数取得, 要素, 言語, 配列, 関数,

Twitter API V2では画像ツイートが出来ないと流れてきたので対処方法

2023.06.02

Logging

おはようございます。先日、Twitter API V2では画像ツイートが出来ないと流れてきたので対処方法を載せときます。Qiitaにも掲載していますが、こちらでも記載します。コードはいつまで使用出来るかは不明ですね、イーロン・マスクのサジカゲンで無料プランでは出来なくなる可能性を秘めています。今のところ、使用できるコードです。PHP8系では動きますがPHP7系は:mixedの部分を退けてあげないと動かないかもです。因みにPythonのサンプルコードが公式にはあったような気がします。

<?php

require_once "tw-config-v2.php";
require_once "vendor/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

class tw
{
    public $connection = null;
    public $media = null;
    public function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET, ACCESSTOKEN, ACCESSTOKENSECRET);
    }

    /**
     * イメージのエンドポイントを取得する v1.1 そのうち廃止されそう。
     * @param $imageName
     * @return boolean
     */
    public function getImage($imageName = null): bool
    {
        if (empty($imageName)) {
            return false;
        }
        $this->media = $this->connection->upload('media/upload', ['media' => "/var/www/html/tw/tmp/images/$imageName"]);
        return true;
    }

    /**
     * イメージ付きでツイート。
     * @param $text
     * @return mixed
     */
    public function tweet($text = null): mixed
    {
        if (!empty($text) && isset($this->media->media_id_string)) {
            $param = [
                'text' => $text,
                'media' => [
                    'media_ids' => [
                        $this->media->media_id_string
                    ]
                ]
            ];
            $this->connection->setApiVersion('2');
            return $this->connection->post('tweets', $param, true);
        }
        return false;
    }
}

if($argv[0]){
    $tw = new tw();
    if($tw->getImage("php2023.png"))
    {
        $tw->tweet("これはテストです");
    }    
}

タグ

argv, bool, connection, construct, empty, getImage, isset, media', mixed, PARAM, qiita, quot, quot;vendor, return, tmp, tw, Tweet, use AbrahamTwitterOAuthTwitterOAuth, イーロン, サジカゲン,

スマホの次は複合現実(mixed reality)ですね。

2020.01.28

Logging

複合現実とは何か、現実と仮想との融合だと思ってもらえれば良いかと思います。下記の動画を見ていただけると分かりやすいかも。HoloLens2(ホローレンズ2)というメガネのようなもの装着すると現実と仮想の映像が合わさって表示されるというもの、いまは結構大きな機器を装着しているけれど、最終的にメガネぐらいに軽量になるのではと思っています。

Microsoft shows off HoloLens 2 mixed reality headset at MWC

これで何が変わるかといえば、動画に流れているように仕事のアシスタントなどの補助が出来たりする。自分はMR(複合現実:mixed reality)が普及するとエンターテイメントな事に使われたり、新たな広告市場になるのではないかと思っています。スマホの次は間違いなく複合現実なんだと思うけど、これが普及するまではもう少し時間がかかるのではないかと思っています。

先に流行るのはスマートグラスかなという考え、スマートグラスが認知されて来る頃にはホローレンズもかなり改良されているだろうなと感じました。

https://www.youtube.com/watch?v=SzYx0GS9Vfg

タグ

2, 8, 90, com, e-n, HoloLens, mixed, Mr, reality, xrVXh, youtube, アシスタント, いま, エンターテイメント, くら, これ, スマート, スマホ, ホロー, メガネ, もの, レンズ, 下記, , 仕事, 仮想, , 動画, 市場, 広告, 映像, 時間, 普及, 機器, , 現実, 自分, 融合, 表示, 装着, 補助, 複合, 軽量,