Αφού επιστρέφεται γιατί να μήν χρησιμοποιείται

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
nikirtsi
Δημοσιεύσεις: 169
Εγγραφή: 02 Ιουν 2006 16:35

Αφού επιστρέφεται γιατί να μήν χρησιμοποιείται

Δημοσίευση από nikirtsi » 03 Οκτ 2007 19:02

Έστω ο κάτωθι κώδικας

Κώδικας: Επιλογή όλων

$array = explode(" ","Αλέκος Παπαδόπουλος");
echo $array[0];
Ανταυτού δέν θά ήταν λογικό νά μπορούσε να γραφτή και έτσι

Κώδικας: Επιλογή όλων

echo explode(" ","Αλέκος Παπαδόπουλος")[0];
Ξέρει κανείς γιατί δέν γίνεται;
Ακόμα και ο ήλιος, στό αριστερό μελίγγι μου ανατέλλει καί στό ζερβό δύει.

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Αφού επιστρέφεται γιατί να μήν χρησιμοποιείται

Δημοσίευση από iffor » 04 Οκτ 2007 01:48

Θα θεωρούσα σαν απλή απάντηση ότι έχει να κάνει με θέμα σωστής σύνταξης των εντολών!
Απλά δεν μπορεί να γίνει έτσι η σύνταξη!
Φυσικά μπορεί να κάνω και τρελό λάθος!

Αν θες πάντως μιας σειράς εντολή με το ίδιο αποτέλεσμα, μπορείς να κάνεις απλά

Κώδικας: Επιλογή όλων

echo reset(explode(" ","Αλέκος Παπαδόπουλος")); // output Αλέκος
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Αφού επιστρέφεται γιατί να μήν χρησιμοποιείται

Δημοσίευση από mrpc » 04 Οκτ 2007 05:16

Γιατί η explode είναι μια function που επιστρέφει ένα array... Δεν είναι η ίδια το array!

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

Αφού επιστρέφεται γιατί να μήν χρησιμοποιείται

Δημοσίευση από dik_ » 04 Οκτ 2007 06:24

Θέμα σύνταξης της PHP.

@mrpc: στη java λειτουργεί κανονικά αυτή η σύνταξη ;)

Άβαταρ μέλους
nikirtsi
Δημοσιεύσεις: 169
Εγγραφή: 02 Ιουν 2006 16:35

Αφού επιστρέφεται γιατί να μήν χρησιμοποιείται

Δημοσίευση από nikirtsi » 04 Οκτ 2007 11:29

iffor
Ναί έχεις δίκαιο δέν λέω όχι , άλλωστε θά μπορούσε νά φτιαχτή καί μια
CUSTOM FUNCTION σάν και αυτήν και να λυνότανε τό θέμα

Κώδικας: Επιλογή όλων

<?php
function GetValue_ByIdx&#40;$pArray,$pIdx&#41; &#123;return &#40;$pArray&#91;$pIdx&#93;&#41;; &#125;
?> 
Το θέμα είναι κατά πόσο μου τό επιτρέπει αυτό η PHP.

mrpc
Ναί όντως, Συγκεκριμένα μια συνάρτησι είναι μία διεύθυνσι που αφορά τό
CODE SECTION και είναι λογικό να μήν επιδέχεται επί αυτήν τήν έννοια
INDEXIONARY.Αυτό άλλωστε τό απόδικνύει και η C.
Και όσο αναφορά τήν PHP5 κάνει άν ξέρης τα στραβά μάτια στά OBJECT RETURN από μια
function (σε αντίθεσι με τήν PHP4).
Ρίξε μια ματιά εδώ.

Κώδικας: Επιλογή όλων

function myFunc&#40;&#41; &#123;return &#40;new myClass&#41;;&#125;
echo myFunc&#40;&#41;->attrVal;
Αυτό γιατί να παίζη δηλαδή αφού ισχύει τό ότι είπα παραπάνω;
Μήπως ξεχάσανε να φροντίσουν και για τό θέμα τόν INDEXIONAL STRUCTURES τελικώς;

dik_
Ωραία αφού καταλήγουμε στό θέμα του ότι πρόκειται αποκλειστικά για θέμα συντάξεως πρός διευκόλυνσι τού προγραμματιστή και από τήν στιγμή που η αυτή διευκόλυσνι μπορεί να εκφραστεί τελείος αντικειμενική
τότε γιατί δέν φτιάχνουν ένα EVENT PER FUNCTION RUN για τήν σκανδαλιστική εκτέλεσι του κατά τήν κλήσι BUILD IN FUNCTIONS και για τό θέμα που αναφέρω
όπως παραδείμγατος χάρειν κάνουν για AUTO LOADS
τών REQUIRE[_ONCE] και INCLUDE[_ONCE];
π.χ

Κώδικας: Επιλογή όλων

<?php
function __autoload&#40;$class_name&#41; &#123;require_once $class_name . '.php';&#125;
$obj  = new MyClass1&#40;&#41;;
?> 
ή κάτι σαν GLOBAL OVERLOAD OPERATION INTERFACE για ποιό εξελιγμένα πράγματα.

Και αυτά τα λέω μιάς και η PHP5 έχει φροντίσει για κάποιες ουσιαστικές τροποποιήσεις στό συντακτικό.

Μήπως υπάρχει επομένως κάποια λύσι για αυτό που αναφέρω;
Υπάρχει κανείς ουσιαστικώς λόγος του να μήν είναι εφικτό;
Όσο και να έψαξα δέν βρήκα πάντως εγώ κάτι.
Ακόμα και ο ήλιος, στό αριστερό μελίγγι μου ανατέλλει καί στό ζερβό δύει.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες