PHPとRubyが特定のテスト条件(すなわち:isempty、issetなど)と一致するさまざまなタイプの変数を処理する方法の違いを持つ記事を発見しました。彼らはどのように違いますか?RubyとPHPの評価エンジンの違いは?
1
A
答えて
2
PHP/empty
はかなりRubyの同等と同じであり、Railsの中の文字列の場合empty?
は、blank?
方法がempty?
# this is PHP
$bob = array(); # empty($bob) => true
$bob = array("cat"); # empty($bob) => false
$bob = null; # empty($bob) => true
$bob = "boo" # empty($bob) => false
$bob = ""; # empty($bob) => true
# this is Ruby
[].empty? # => true
[ "cat" ].empty? # => false
nil.empty? # => NoMethodError
"boo".empty? # => false
"".empty? # => true
に好まれているPHP/ISSETはhas_keyに置き換えることができますか? Hashオブジェクトの場合一般的なローカル変数の使用法では、Rubyは変数をコード内で参照するときに変数をインスタンス化しないので、チェックするのは簡単ですが、変数がnilであるかどうかです。
EDITは
また、ローカル変数のためにisset
のPHPの使用量を複製するdefined?
キーワードを使用することができます。
#PHP
isset($bob); # => false
$bob = "foo";
isset($bob); # => true
$bob = array();
isset($bob['cat']); # => false
$bob = array('cat' => 'bag');
isset($bob['cat']); # => true
isset($bob['dog']); # => false
#Ruby
bob # => nil
defined?(bob) # => false
bob.nil? # => true
bob = "foo"
bob # => "foo"
bob.nil? # => "false"
bob = {}
bob.has_key? :cat # => false
bob = { :cat => 'bag' }
bob.has_key? :cat # => true
ことの一つは、の注意する:PHP、空の文字列または数値0でif
文でfalseに評価されます。 Rubyでは、if文でnil
とfalse
のみがfalseと評価されます。これには、さらに2つのブール照会メソッドblank?
とzero?
が追加されていなければなりません。これらのメソッドは、Railsアプリケーションの一部としてStringクラスに組み込まれています。独立したバージョンのファセットがファセットにあります。
-1
これは非常に散漫な質問です。 RubyとPHPの主な違いはRubyが(ほとんど)strongly typedであるのに対し、PHPは非常に弱く型付けされていることです。
関連する問題
- 1. PHP XPATH評価
- 2. PHPレイジーブール評価
- 3. Rubyチャレンジ - メソッド連鎖とレイジー評価
- 4. PHP __DIR__ランタイム評価(レイトバインド)?
- 5. Rubyの "Postfix Expressions"プログラムの評価
- 6. Gradleの用語の評価と実行の違い
- 7. AJAXでRuby On Railsの星評価
- 8. Ruby - 文字列内の評価
- 9. PHPコードを評価する
- 10. 評価の範囲内のExcel評価
- 11. PHPとMySQLで最も評価の高いものを表示
- 12. Rubyのクラスの評価、動的データとvalidates_inclusion_of
- 13. 評価とレビュー
- 14. レイアウトエンジンとjavascriptエンジンの違い
- 15. NullObjectをRubyで偽に評価する
- 16. シンプルな評価Ruby on Rails 3
- 17. PHPへのJQueryの評価投稿
- 18. ライブ評価のあるphpフィールド
- 19. 評価データベースのランクとアワードを評価するウェブサイト
- 20. Magentoレビューは、phpの評価項目の代わりにサマリー評価を表示しています
- 21. JQueryとPHPの星評価は簡略化
- 22. クエリーセットのキャッシングと再評価
- 23. Pythonのグローバルネームスペースと評価順
- 24. 評価は
- 25. コメントと評価AJAX
- 26. コードメトリックの評価
- 27. gwt.xmlの評価
- 28. ハイブリッドクラウドコンピューティングシナリオの評価
- 29. 私はmarkeroptions.snippetから評価値を取得し、インフォインドウの評価バーに評価を表示したい
- 30. NCalcの評価が間違っていますか?