abonnement Unibet Coolblue
pi_108542788
Misschien iets te geavanceerd, maar ik vraag het toch want het lukt me maar niet :{ Ik weet dat hier ook wel wat goeroes zitten :)
Ik heb een array met objecten. D.m.v. een functie _exist() wil ik kijken of een object aan meerdere condities voldoen. De functie _exist is als volgende:
1
2
3
4
5
6
7
8
9
<?php
private function _exist($instanceType$values = array()) {
    foreach(
$this->data as $data) {
        if(
$data instanceof $instanceType) {
            
//hier moet ik dus values matchen!
        
}
    }
}
?>
Ik wil dus een object tegen meerdere condities gelijkertijd! matchen en dat object terugkrijgen. De functie roep ik zo aan:
1
2
3
4
5
<?php
if($this->_exist("user", array("getName" => "Henk""getStatus" => 1)) {
    
//exist!
}
?>
De key in de array is de functienaam, the value in de array is de waarde.

Hoe kan ik ervoor zorgen dat ik het object terugkrijg die aan alle waarden in de array matcht? Ik dacht aan
1
2
3
4
5
6
7
8
9
10
11
12
<?php
private function _exist($instanceType$values = array()) {
    foreach(
$this->data as $data) {
        if(
$data instanceof $instanceType) {
            foreach(
$values as $key => $value) {
                           if(
$data->$key() === $value)
                              
//exist!
                        
}
        }
    }
}
?>
Echter, het nadeel van bovenstaande is dat hij één voor één matcht en niet tegelijkertijd. Het resultaat is nooit zoals het moeten want meerdere objecten kunnen dezelfde waarde hebben. Ik moet dus de operator && gebruiken in de if constructie, maar ik zie hem niet. Iemand een idee hoe ik makkelijk de waarden kan testen? Ik moet een foreach in een foreach vermijden want dat zorgt voor troubles, dus als iemand tips heeft hoe dit makkelijk te doen is of een andere goede oplossing :) Graag! :)
Het probleem is namelijk dat de array soms 1 element bevat, en soms 3 elementen. De lengte van array is dus dynamisch :)
  woensdag 29 februari 2012 @ 13:52:14 #152
305897 remi1986
This MF is infected by madness
pi_108542867
quote:
0s.gif Op woensdag 29 februari 2012 13:50 schreef mafkees10 het volgende:
Misschien iets te geavanceerd, maar ik vraag het toch want het lukt me maar niet :{ Ik weet dat hier ook wel wat goeroes zitten :)
Ik heb een array met objecten. D.m.v. een functie _exist() wil ik kijken of een object aan meerdere condities voldoen. De functie _exist is als volgende:
[ code verwijderd ]

Ik wil dus een object tegen meerdere condities gelijkertijd! matchen en dat object terugkrijgen. De functie roep ik zo aan:
[ code verwijderd ]

De key in de array is de functienaam, the value in de array is de waarde.

Hoe kan ik ervoor zorgen dat ik het object terugkrijg die aan alle waarden in de array matcht? Ik dacht aan
[ code verwijderd ]

Echter, het nadeel van bovenstaande is dat hij één voor één matcht en niet tegelijkertijd. Het resultaat is nooit zoals het moeten want meerdere objecten kunnen dezelfde waarde hebben. Ik moet dus de operator && gebruiken in de if constructie, maar ik zie hem niet. Iemand een idee hoe ik makkelijk de waarden kan testen? Ik moet een foreach in een foreach juist vermijden, dus als iemand tips heeft :) Graag! :)
even heel snel naar gekeken, maar kan je geen in_array() gebruiken?

1
2
3
<?php
if(in_array($data->$key(), $values)
?>
pi_108542947
Kan ik even testen ja! maar loopt die dan de array door? Het probleem is dus dat ik de code nu niet ter beschikking heb (pas vrijdag weer :r) en dus niets kan testen voor nu. Ik kan het vrijdag even gaan testen iig! :)
  woensdag 29 februari 2012 @ 13:56:32 #154
305897 remi1986
This MF is infected by madness
pi_108543004
quote:
0s.gif Op woensdag 29 februari 2012 13:54 schreef mafkees10 het volgende:
Kan ik even testen ja! maar loopt die dan de array door? Het probleem is dus dat ik de code nu niet ter beschikking heb (pas vrijdag weer :r) en dus niets kan testen voor nu. Ik kan het vrijdag even gaan testen iig! :)
in_array controleert of de opgegeven waarde voorkomt in de array (ja je zou kunnen zeggen dat hij hem doorloopt).

http://php.net/manual/en/function.in-array.php
  woensdag 29 februari 2012 @ 14:49:34 #155
87680 Mirel
Mirel wil een bongophone.
pi_108544871
Weer een vraagje over www.filmdepartment.nl/v2 :P Rechtsboven zie je een knop waarmee je een stuk boven de website tevoorschijn kan halen. Daarin zitten nu widgets, maar die wil ik eigenlijk weghebben. Ik wil dat dat hele vlak een grote googlemaps kaart wordt van Utrecht. Ik weet dus niet hoe, en ben benieuwd dat áls ik de widgets al weg kan halen, of de kaart er goed in komt, want op de een of andere manier zit alles van de inhoud in deze theme in het midden gecentreerd, maar ik kan in de CSS nergens vinden hoe dit gedaan is.

Ik zocht naar de betreffende divs en heb 1 php bestand gevonden:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
$footercolumn
=get_option('footercolumn');
echo 
'<div id="panel_widget">';
echo  
'<div  id="panel_wrapper">';
echo  
'<div  class="panel">';
if(
$footercolumn == '5') { $footerclass="one_fifth"; }  
if(
$footercolumn == '4') {$footerclass="one_fourth";}
if(
$footercolumn == '3') { $footerclass="one_third"; }
if(
$footercolumn == '2') {$footerclass="one_half"; }
if(
$footercolumn == '1') { $footerclass="fullwidth"; }
 for(
$fc=1$fc<=$footercolumn$fc++)
 {
 
$last = ($fc == $footercolumn and $footercolumn != 1) ? 'last' '';
 
?>
 
<div class="<?php echo $footerclass?> <?php echo $last?>">
    <?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar('top_togglebox_column_'.$fc.'') ) : ?>
    <h3>
        <?php _e' Toggle Box Column '.$fc.'''Apogee' ); ?>
    </h3>
    <p>
        <?php _e'Wesce sit amet porttitor leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque interdum, nulla sit amet varius dignissim Vestibulum pretium risus. <a href="#"> View More »</a>''Apogee' ); ?>
    </p>
    <?php endif; ?>
</div>

<?php
 
}
echo 
'</div>';

echo 
'</div>';
?>
   
    <!-- The tab on top -->    
    <div class="tab">
        <ul class="login">
            <li id="toggle">
                <a id="open" class="open" href="#"></a>
                <a id="close" style="display: none;" class="close" href="#"></a>
            </li>
        </ul> 
    </div> 
</div>
Ik laat de widgets gewoon geactiveerd staan in het Wordpress dashboard zodat ik kan zien wanneer ze echt weg zijn. Al zou ik ze weghalen uit het dashboard, die ruimte is geserveerd voor widgets en is niet bepaald vriendelijk voor eigen opmaak.
When all else fails, you always have delusion.
  woensdag 29 februari 2012 @ 14:51:53 #156
305897 remi1986
This MF is infected by madness
pi_108544952
Alles binnen <div id="panel_wrapper"> weghalen en daar je google maps plaatsen
  woensdag 29 februari 2012 @ 14:53:46 #157
87680 Mirel
Mirel wil een bongophone.
pi_108545018
Maar wat haal ik dan weg uit het php bestand? id panel_wrapper is alleen daar te vinden, en al die codes zeggen me niet zoveel. Als ik al 1 regel van iets weghaal, dan wilt de hele site niet laden.
When all else fails, you always have delusion.
  woensdag 29 februari 2012 @ 14:55:37 #158
87680 Mirel
Mirel wil een bongophone.
pi_108545096
Yay, alles binnen <div class="<?php echo $footerclass; ?> <?php echo $last; ?>"> leeggehaald, en deze regels:

1
2
3
4
5
6
7
<?php
if($footercolumn == '5') { $footerclass="one_fifth"; }  
if(
$footercolumn == '4') {$footerclass="one_fourth";}
if(
$footercolumn == '3') { $footerclass="one_third"; }
if(
$footercolumn == '2') {$footerclass="one_half"; }
if(
$footercolumn == '1') { $footerclass="fullwidth"; }
?>

Maar de boel zit nog steeds in het midden. Ik heb er een testtekstje in gedaan, maar het verschijnt 4x.

Dit is het nu momenteel in z'n geheel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$footercolumn
=get_option('footercolumn');
echo 
'<div id="panel_widget">';
echo  
'<div  id="panel_wrapper">';
echo  
'<div  class="panel">';

 for(
$fc=1$fc<=$footercolumn$fc++)
 {
 
$last = ($fc == $footercolumn and $footercolumn != 1) ? 'last' '';
 
?>
 
<div class="<?php echo $footerclass?> <?php echo $last?>">
<p>Dit is slechts 1 regel tekst, maar verschijnt hier 4 keer</p>
</div>

<?php
 
}
echo 
'</div>';

echo 
'</div>';
?>
   
    <!-- The tab on top -->    
    <div class="tab">
        <ul class="login">
            <li id="toggle">
                <a id="open" class="open" href="#"></a>
                <a id="close" style="display: none;" class="close" href="#"></a>
            </li>
        </ul> 
    </div> 
</div>
Zo ziet het er dan uit:


En als ik bovenaan echo div class panel weghaal, dan wordt het zo. Het is goed dat de tekst nu linksboven zit, maar het uitklapknopje helemaal rechts staat dan niet meer goed:


Uiteindelijk moet het dus dit worden :P


[ Bericht 42% gewijzigd door Mirel op 29-02-2012 15:21:27 ]
When all else fails, you always have delusion.
  woensdag 29 februari 2012 @ 16:26:13 #159
305897 remi1986
This MF is infected by madness
pi_108548445
Dat komt omdat je het in een for loop hebt zitten. Haal die er maar om weg

1
2
3
<?php
for($fc=1$fc<=$footercolumn$fc++)
?>
  woensdag 29 februari 2012 @ 16:32:21 #160
87680 Mirel
Mirel wil een bongophone.
pi_108548687
Ah ok, ik had ook wat er na komt verwijderd en toen flipte alles. Maar ok, die regel is weg.

edit: als ik dus die ene netgenoemde echo weghaal, dan gaat de tekst waar ik het wil hebben, linksboven, maar het knopje verspringt dan. Is het vanaf dit moment nog een PHP issue of CSS?
When all else fails, you always have delusion.
  woensdag 29 februari 2012 @ 16:35:49 #161
305897 remi1986
This MF is infected by madness
pi_108548822
quote:
0s.gif Op woensdag 29 februari 2012 16:32 schreef Mirel het volgende:
Ah ok, ik had ook wat er na komt verwijderd en toen flipte alles. Maar ok, die regel is weg.

edit: als ik dus die ene netgenoemde echo weghaal, dan gaat de tekst waar ik het wil hebben, linksboven, maar het knopje verspringt dan. Is het vanaf dit moment nog een PHP issue of CSS?
welk knopje verspringt ?
  woensdag 29 februari 2012 @ 16:38:52 #162
87680 Mirel
Mirel wil een bongophone.
pi_108548943
http://i.imgur.com/GlgPc.jpg

en

http://i.imgur.com/mmLAX.jpg

kijk maar helemaal naar rechts, het witte.

Dat je het niet ziet zegt al genoeg over de kleurenkeuze :P
When all else fails, you always have delusion.
  woensdag 29 februari 2012 @ 16:41:47 #163
305897 remi1986
This MF is infected by madness
pi_108549068


Ik zie het niet?


Jij hebt in die afbeeldingen ook nog 4x die tekst?
  woensdag 29 februari 2012 @ 16:49:02 #164
87680 Mirel
Mirel wil een bongophone.
pi_108549367
Dat zijn oude afbeeldingen, dat is nu veranderd, behalve het knopje. Het knopje helemaal rechts die wit is, met een ^ pijltje. n plaatje 1 zit 'ie vast aan het witte erboven, in plaatje 2 niet. Dat gebeurt er als ik echo '<div class="panel">'; weghaal. En die móet weg, want als die blijft staan, dan staat de boel in het midden. Zonder die echo staat alles linksboven en dat is wat ik wil, aangezien ik een googlemap over de hele breedte wil.

Wat ik overigens alvast geprobeerd heb, alleen hij pakt ineens dat filmpje die ook iets beneden in de pagina te vinden is 8)7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$footercolumn
=get_option('footercolumn');
echo 
'<div id="panel_widget">';
echo  
'<div  id="panel_wrapper">';

 
 {
 
$last = ($fc == $footercolumn and $footercolumn != 1) ? 'last' '';
 
?>
 
<div class="<?php echo $footerclass?> <?php echo $last?>">
    <iframe width="900" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" data-src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=filmdepartment.nl,+Ondiep-Zuidzijde,+Egelantierstraat-Mari%C3%ABndaalstraat,+Utrecht,+Nederland&aq=0&oq=filmdepartment&sll=37.0625,-95.677068&sspn=44.47475,107.138672&ie=UTF8&hq=filmdepartment.nl,&hnear=Ondiep-Zuidzijde,+Noordwest,+Utrecht,+The+Netherlands&t=h&ll=52.102644,5.097678&spn=0.005272,0.019333&z=16&iwloc=A&output=embed" style="visibility:hidden;"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=filmdepartment.nl,+Ondiep-Zuidzijde,+Egelantierstraat-Mari%C3%ABndaalstraat,+Utrecht,+Nederland&aq=0&oq=filmdepartment&sll=37.0625,-95.677068&sspn=44.47475,107.138672&ie=UTF8&hq=filmdepartment.nl,&hnear=Ondiep-Zuidzijde,+Noordwest,+Utrecht,+The+Netherlands&t=h&ll=52.102644,5.097678&spn=0.005272,0.019333&z=16&iwloc=A" style="color:#0000FF;text-align:left">View Larger Map</a></small>
</div>

<?php
 
}
echo 
'</div>';

echo 
'</div>';
?>
   
    <!-- The tab on top -->    
    <div class="tab">
        <ul class="login">
            <li id="toggle">
                <a id="open" class="open" href="#"></a>
                <a id="close" style="display: none;" class="close" href="#"></a>
            </li>
        </ul> 
    </div> 
</div>

Ik weet nog even niet of de iframe width en height op 100% kunnen, zie ik straks wel.
When all else fails, you always have delusion.
  woensdag 29 februari 2012 @ 16:53:53 #165
305897 remi1986
This MF is infected by madness
pi_108549552


in de CSS (slide.css) dus zoeken naar .tab ul.login en dat daar aanpassen.


Ben met 5 minuten vrij en ben er vanavond niet, dus reageer vandaag niet meer. Succes verder!
  woensdag 29 februari 2012 @ 16:58:55 #166
87680 Mirel
Mirel wil een bongophone.
pi_108549715
Thanks! Op naar het css topic voor googlemaps nu!
When all else fails, you always have delusion.
pi_108550749
quote:
0s.gif Op woensdag 29 februari 2012 13:56 schreef remi1986 het volgende:

[..]

in_array controleert of de opgegeven waarde voorkomt in de array (ja je zou kunnen zeggen dat hij hem doorloopt).

http://php.net/manual/en/function.in-array.php
Daar heb ik ook aan gedacht, maar misschien denk ik weer te moeilijk! Vrijdag even controleren dus! Bedankt :)

Ik zit me net te bedenken dat dit niet klopt.
Stel ik heb een object user met daarin:
private $pass;
private $name;
private $status;

en de drie getters.

Als ik vervolgens:
_exist("user", array("getPass" => "test", "getName" => "test")) dan returnt hij bij getPass al true indien het wachtwoord "test" is. De getName wordt dan dus genegeerd! Als ik de uitkomst van de functie in een array stop, dan krijg ik een andere user die ook het wachtwoord "test" heeft maar met de naam "henk" ook terug. Dat is niet de bedoeling dus. Als ik de uitkomst in een variable stop krijg ik de laatste user terug die als wachtwoord test heeft. Beide niet goed dus :)

[ Bericht 13% gewijzigd door mafkees10 op 29-02-2012 17:50:33 ]
pi_108558699
quote:
0s.gif Op woensdag 29 februari 2012 17:32 schreef mafkees10 het volgende:

[..]

Daar heb ik ook aan gedacht, maar misschien denk ik weer te moeilijk! Vrijdag even controleren dus! Bedankt :)

Ik zit me net te bedenken dat dit niet klopt.
Stel ik heb een object user met daarin:
private $pass;
private $name;
private $status;

en de drie getters.

Als ik vervolgens:
_exist("user", array("getPass" => "test", "getName" => "test")) dan returnt hij bij getPass al true indien het wachtwoord "test" is. De getName wordt dan dus genegeerd! Als ik de uitkomst van de functie in een array stop, dan krijg ik een andere user die ook het wachtwoord "test" heeft maar met de naam "henk" ook terug. Dat is niet de bedoeling dus. Als ik de uitkomst in een variable stop krijg ik de laatste user terug die als wachtwoord test heeft. Beide niet goed dus :)
De functie _exist is voor zover ik weet geen standaard PHP functie. Dus ik ben wel benieuwd wat de implementatie is. Kun je die hier eens posten (en dan tussen [php] en [/php] om de code leesbaar te houden).
  woensdag 29 februari 2012 @ 20:41:18 #169
75592 GlowMouse
l'état, c'est moi
pi_108559267
post #151
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 29 februari 2012 @ 20:53:31 #170
63192 ursel
"Het Is Hier Fantastisch!
pi_108559950
Yeh, vandaag ZCE gehaald *O*
pi_108559969
Ah, zover had ik niet terug gelezen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
private function _exist($instanceType$values = array()) {
    
$result = array();
    foreach(
$this->data as $data) {
        if(
$data instanceof $instanceType) {
            foreach(
$values as $key => $value) {
                
// We nemen aan dat alles klopt, daarna gaan we controleren.
                
$found true;
                if(
$data->$key() !== $value) {
                    
$found false;
                    break;
                }
                if(
$found) {
                    
$result[] = $data;
                }
            }
        }
    }
    return 
$result;
}
?>

Zoiets zou het dan worden, denk ik.
pi_108559980
quote:
0s.gif Op woensdag 29 februari 2012 20:53 schreef ursel het volgende:
Yeh, vandaag ZCE gehaald *O*
Feli :)
pi_108568906
quote:
0s.gif Op woensdag 29 februari 2012 20:53 schreef Light het volgende:
Ah, zover had ik niet terug gelezen.
[ code verwijderd ]

Zoiets zou het dan worden, denk ik.
Matcht ook niet :{ Ben net ook al bezig geweest maar ik heb maar een lijntje op twiekerts gegooid. Dit grapje heeft me flink wat tijd gekost :r
pi_108569452
Heeft iemand hier al gewerkt met namespaces? Ik ben momenteel nog aan het inlezen erover en wil ze gaan gebruiken in mijn aankomende projecten.

Wat ik wil gaan maken is een standaard MVC, maar dan met niet al te veel opties en dingen die ik zelf nooit gebruik. Het wordt aangeraden toch wel te beginnen hiermee.
  woensdag 29 februari 2012 @ 23:26:41 #175
111382 Ofyles2
Bestemming: onbekend
pi_108569700
quote:
0s.gif Op woensdag 29 februari 2012 23:21 schreef totalvamp het volgende:
Heeft iemand hier al gewerkt met namespaces? Ik ben momenteel nog aan het inlezen erover en wil ze gaan gebruiken in mijn aankomende projecten.
Nog nooit met namespaces gewerkt bij PHP, dat moet ik uitdokteren

quote:
Wat ik wil gaan maken is een standaard MVC, maar dan met niet al te veel opties en dingen die ik zelf nooit gebruik. Het wordt aangeraden toch wel te beginnen hiermee.
Daar ben ik ook al mee bezig. Ik volg de spelregels die ik in een programmeerboek heb gevonden, daarbuiten sla ik scripts op in aparte mappen.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')